<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>SQLite Requirements</title>
<style type="text/css">
body {
    margin: auto;
    font-family: Verdana, sans-serif;
    padding: 8px 1%;
}

a { color: #044a64 }
a:visited { color: #734559 }

.logo { position:absolute; margin:3px; }
.tagline {
  float:right;
  text-align:right;
  font-style:italic;
  width:300px;
  margin:12px;
  margin-top:58px;
}

.toolbar {
  text-align: center;
  line-height: 1.6em;
  margin: 0;
  padding: 0px 8px;
}
.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
.toolbar a:visited { color: white; }
.toolbar a:hover { color: #044a64; background: white; }

.content    { margin: 5%; }
.content dt { font-weight:bold; }
.content dd { margin-bottom: 25px; margin-left:20%; }
.content ul { padding:0px; padding-left: 15px; margin:0px; }

/* rounded corners */
.se  { background: url(images/se.gif) 100% 100% no-repeat #044a64}
.sw  { background: url(images/sw.gif) 0% 100% no-repeat }
.ne  { background: url(images/ne.gif) 100% 0% no-repeat }
.nw  { background: url(images/nw.gif) 0% 0% no-repeat }

/* Things for "fancyformat" documents start here. */
.fancy img+p {font-style:italic}
.fancy .codeblock i { color: darkblue; }
.fancy h1,.fancy h2,.fancy h3,.fancy h4 {font-weight:normal;color:#044a64}
.fancy h2 { margin-left: 10px }
.fancy h3 { margin-left: 20px }
.fancy h4 { margin-left: 30px }
.fancy th {white-space:nowrap;text-align:left;border-bottom:solid 1px #444}
.fancy th, .fancy td {padding: 0.2em 1ex; vertical-align:top}
.fancy #toc a        { color: darkblue ; text-decoration: none }
.fancy .todo         { color: #AA3333 ; font-style : italic }
.fancy .todo:before  { content: 'TODO:' }
.fancy p.todo        { border: solid #AA3333 1px; padding: 1ex }
.fancy img { display:block; }
.fancy :link:hover, .fancy :visited:hover { background: wheat }
.fancy p,.fancy ul,.fancy ol { margin: 1em 5ex }
.fancy li p { margin: 1em 0 }
/* End of "fancyformat" specific rules. */

</style>
  
</head>
<body>
<div><!-- container div to satisfy validator -->

<a href="index.html">
<img class="logo" src="images/sqlite370_banner.gif" alt="SQLite Logo"
 border="0"></a>
<div><!-- IE hack to prevent disappearing logo--></div>
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>

<table width=100% style="clear:both"><tr><td>
  <div class="se"><div class="sw"><div class="ne"><div class="nw">
  <table width=100% style="padding:0;margin:0;cell-spacing:0"><tr>
  <td width=100%>
  <div class="toolbar">
    <a href="about.html">About</a>
    <a href="sitemap.html">Sitemap</a>
    <a href="docs.html">Documentation</a>
    <a href="download.html">Download</a>
    <a href="copyright.html">License</a>
    <a href="news.html">News</a>
    <a href="support.html">Support</a>
  </div>
<script>
  gMsg = "Search SQLite Docs..."
  function entersearch() {
    var q = document.getElementById("q");
    if( q.value == gMsg ) { q.value = "" }
    q.style.color = "black"
    q.style.fontStyle = "normal"
  }
  function leavesearch() {
    var q = document.getElementById("q");
    if( q.value == "" ) { 
      q.value = gMsg
      q.style.color = "#044a64"
      q.style.fontStyle = "italic"
    }
  }
</script>
<td>
    <div style="padding:0 1em 0px 0;white-space:nowrap">
    <form name=f method="GET" action="http://www.sqlite.org/search">
      <input id=q name=q type=text
       onfocus="entersearch()" onblur="leavesearch()" style="width:24ex;padding:1px 1ex; border:solid white 1px; font-size:0.9em ; font-style:italic;color:#044a64;" value="Search SQLite Docs...">
      <input type=submit value="Go" style="border:solid white 1px;background-color:#044a64;color:white;font-size:0.9em;padding:0 1ex">
    </form>
    </div>
  </table>
</div></div></div></div>
</td></tr></table>
<div class=startsearch></div>
  



<h2>1.0 About SQLite Requirements</h2>


<ul>
<li><p>
Requirements consist of excerpts from the documentation.
A requirement is usually a one-sentence excerpt but might be a sentence
fragment, multiple sentences, a table, or a GIF image of a bubble syntax
diagram.

<li><p>
Requirements are written in conversational English and without the
modal auxiliary verb "shall".  This grows out of the fact that requirements
are taken from the documentation.  The intended audience for the
documentation is application programmers.  "Shall" language is appropriate
when the audience consist of contract specialists, QA auditors, and lawyers, 
but it interferes with comprehension when the audience is application 
programmers.  Hence, in order to best serve the intended audience, the
"shall" language is omitted.

<li><p>
Requirements are sufficiently detailed and precise to permit a 100% compatible
clean-room reimplementation of SQLite.

<li><p>
The word "requirement" in common English usage implies an ordering: that
the requirement comes before the implementation.
But there is no such ordering with SQLite requirements.
What are called "requirements" in SQLite are better described as
"testable statements of truth about the behavior of the system".

<li><p>
Every testable statement of truth about SQLite in the
documentation becomes a requirement.

<li><p>
Requirement numbers are the MD5 hash of the requirement itself.
<ol type="a">
<li><p>Requirements are inherently immutable, since any change
to the requirement results in a completely different requirement number.

<li><p>For text requirements, the text is normalized prior to computing the
MD5 hash:
<ul>
<li>Remove all leading and trailing whitespace.
<li>Convert all internal whitespace sequences to a single space character.
<li>Convert "&amp;lt;" to "&lt;", "&amp;gt;" to "&gt;",
    "&amp;#91;" to "&#91;", "&amp;#93;" to "&#93;", and
    "&amp;amp;" to "&amp;".
</ul>
<li><p>For GIF syntax diagram requirements, the MD5 hash is computed over
the entire content of the GIF image file.

<li><p>The MD5 hash is expressed in human-readable form as follows:
<blockquote><b>R-</b><i>N</i><b>-</b><i>N</i><b>-</b><i>N</i><b>-</b><i>N</i><b>-</b><i>N</i><b>-</b><i>N</i><b>-</b><i>N</i><b>-</b><i>N</i></blockquote>
Where each <i>N</i> is a 5-digit number between 00000 and 65536 that
represents 16 bits of the 128-bit MD5 hash.

<li><p>Requirements may be referenced by any unique prefix of their
complete requirement number.
</ol>

<p><li>
Individual text requirements are identified in the
documentation as text between "<b>&#94;</b>" and the first period or
full-stop ("<b>.</b>")
or as text between "<b>&#94;(</b>" and "<b>)&#94;</b>".
<ol type="a">
<li><p>
Text requirements are automatically extracted from the documentation by scripts
that run as part of the documentation build process.

<li><p>
After requirements have been extracted from the documentation, the requirement
markers "<b>&#94;</b>", "<b>&#94;(</b>", and "<b>)&#94;</b>" are removed
from the documentation text.  This is done automatically by the documentation
build scripts.

<li><p>
To avoid collisions with these requirements delimiters, "&#94;" characters that
are part of the text of a requirement or that are otherwise found in the 
documentation, should be coded as "&amp;#94;".
</ol>

<p><li>
Individual GIF syntax diagram requirements are identified in the
documentation as HTML image markup of the
form
<blockquote><b>
&lt;img alt="syntax diagram </b><i>NAME</i><b>" src="</b><i>FILE</i><b>"&gt;
</b></blockquote>
Where <i>NAME</i> is the name of the syntax diagram and <i>FILE</i> is
the name of the GIF file containing the syntax diagram.
<ol type="a">
<li><p>
Syntax diagram requirements are automatically extracted from the 
documentation by scripts
that run as part of the documentation build process.

<li><p>
The GIF file is the requirement, not the HTML markup that references the
GIF file nor the diagram name.
</ol>

<li><p>
The documentation that contains the
requirement text is generated by scripts that use as input files
from both files in the documentation fossil repository and 
comments in the source code.

</ul>


<h2>2.0 List Of Requirements</h2>

<dl>
<dt><b>R-00013-61831-22423-62410-56475-12017-42000-15640</b></dt>
<dd><p>The key comes first and is separated from the value by a single "=" character.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-00109-30887-26782-37306-11423-15179-45221-18025</b></dt>
<dd><p>A virtual table module is created by filling in a persistent instance of this structure and passing a pointer to that instance to sqlite3_create_module() or sqlite3_create_module_v2().
<i>(source <a href="c3ref/module.html">c3ref/module.html</a>)</i></p></dd>

<dt><b>R-00140-37445-57377-20863-40395-21152-20469-25306</b></dt>
<dd><p>SQLite automatically serializes calls to the xInit method, so the xInit method need not be threadsafe.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-00171-59428-63637-20419-61024-28048-20428-49478</b></dt>
<dd><p>In such cases, duplicate elements are filtered before being passed into the aggregate function.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-00202-17548-59772-16282-16027-29431-32424-58722</b></dt>
<dd><p>The outer query is not an aggregate or the subquery does not contain ORDER BY.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-00203-32193-54208-20071-18893-56924-36288-02453</b></dt>
<dd><p>Contrary to the intuition of many, sqlite3_reset() does not reset the bindings on a prepared statement.
<i>(source <a href="c3ref/clear_bindings.html">c3ref/clear_bindings.html</a>)</i></p></dd>

<dt><b>R-00206-08174-12423-08291-28017-31720-33784-40037</b></dt>
<dd><p>Assuming there are no other indices, the query above would result in a full table scan.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-00211-15100-13551-08029-11999-21398-14516-56107</b></dt>
<dd><p>The analysis of a term might cause new "virtual" terms to be added to the WHERE clause.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-00227-21080-37302-15362-03285-23826-51380-28642</b></dt>
<dd><p>A UNIQUE constraint is similar to a PRIMARY KEY constraint, except that a single table may have any number of UNIQUE constraints.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-00243-07929-08239-44820-61576-27318-53216-12960</b></dt>
<dd><p>If the declared type of the column contains any of the strings "CHAR", "CLOB", or "TEXT" then that column has TEXT affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-00279-52283-49814-15354-28909-18424-55374-18430</b></dt>
<dd><p>Returning to the example in section 1, each time an application deletes a row from the artist table (the parent table), it performs the equivalent of the following SELECT statement to search for referencing rows in the track table (the child table). SELECT rowid FROM track WHERE trackartist = ? where ? in the above is replaced with the value of the artistid column of the record being deleted from the artist table (recall that the trackartist column is the child key and the artistid column is the parent key).
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-00293-64994-39339-33419-11494-64597-05681-15697</b></dt>
<dd><p>This SQL function is implemented using the sqlite3_result_zeroblob() routine from the C/C++ interface.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-00311-09993-39149-44899-64441-18371-52816-22132</b></dt>
<dd><p>aConstraint[].usable is TRUE if the expr on the right-hand side can be evaluated (and thus the constraint is usable) and false if it cannot.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-00336-65009-59389-29167-11927-65433-48801-33923</b></dt>
<dd><p>PRAGMA temp_store; PRAGMA temp_store = 0 | DEFAULT | 1 | FILE | 2 | MEMORY; Query or change the setting of the "temp_store" parameter.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-00353-01851-44275-08807-26330-41077-52452-65296</b></dt>
<dd><p>The subquery and outer query do not both use LIMIT.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-00359-41639-41144-27010-59632-30416-37191-53432</b></dt>
<dd><p>The view definition is removed from the database schema, but no actual data in the underlying base tables is modified.
<i>(source <a href="lang_dropview.html">lang_dropview.html</a>, checked-by: tcl/e_dropview.test)</i></p></dd>

<dt><b>R-00376-39212-00900-22873-65373-47922-05493-41094</b></dt>
<dd><p>If the parent key columns have a UNIQUE index, then that index must use the collation sequences that are specified in the CREATE TABLE statement for the parent table.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-00402-11496-45496-40393-08263-15231-62727-28991</b></dt>
<dd><p>The filename argument can be a URI filename if URI filename processing is enable on the database connection.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-00416-37972-26105-59380-00814-31989-13044-05972</b></dt>
<dd><p>When the right operand of an IN or NOT IN operator is a subquery, the subquery must have a single result column.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-00421-53597-33844-16365-55873-40811-64785-22587</b></dt>
<dd><p>The sqlite3_get_table() function evaluates one or more semicolon-separated SQL statements in the zero-terminated UTF-8 string of its 2nd parameter and returns a result table to the pointer given in its 3rd parameter.
<i>(source <a href="c3ref/free_table.html">c3ref/free_table.html</a>)</i></p></dd>

<dt><b>R-00426-09545-34990-46978-51710-39529-12013-14536</b></dt>
<dd><p>A frame is considered valid if and only if the following conditions are true: The salt-1 and salt-2 values in the frame-header match salt values in the wal-header The checksum values in the final 8 bytes of the frame-header exactly match the checksum computed consecutively on the WAL header and the first 8 bytes and the content of all frames up to and including the current frame.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-00449-33772-33919-59402-60829-28733-22208-04727</b></dt>
<dd><p>This feature allows WAL databases to be created, read, and written by legacy VFSes that lack the "version 2" shared-memory methods xShmMap, xShmLock, xShmBarrier, and xShmUnmap on the sqlite3_io_methods object.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-00466-56349-41436-38164-40851-28282-49107-17370</b></dt>
<dd><p>In any aggregate function that takes a single argument, that argument can be preceded by the keyword DISTINCT.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-00515-56855-31188-51684-43616-15583-54594-04320</b></dt>
<dd><p>Unless the flattening optimization is applied, if a subquery appears in the FROM clause of a SELECT statement, SQLite executes the subquery and stores the results in a temporary table. It then uses the contents of the temporary table in place of the subquery to execute the parent query.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-00576-15510-24475-53838-43505-45493-44918-44548</b></dt>
<dd><p>Statistics gathered by ANALYZE are not automatically updated as the content of the database changes.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-00598-03741-13790-05735-40657-11548-64969-46486</b></dt>
<dd><p>A negative LIMIT value is interpreted as "no limit".
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-00605-14249-27716-38234-38428-32294-04406-05104</b></dt>
<dd><p>Note that column must be the same column in every OR-connected subterm, although the column can occur on either the left or the right side of the = operator.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-00640-12624-18808-26941-05585-54150-12700-55718</b></dt>
<dd><p>The expression "x BETWEEN y and z" is logically equivalent to two comparisons "x >= y AND x <= z" and works with respect to collating functions as if it were two separate comparisons.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-00660-06687-37276-33282-42397-40638-27737-43602</b></dt>
<dd><p>If additional page cache memory is needed beyond what is provided by this option, then SQLite goes to sqlite3_malloc() for the additional storage space.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-00695-31519-05206-48434-15068-58741-03264-34333</b></dt>
<dd><p>The COMMIT command may be used to release all savepoints and commit the transaction even if the transaction was originally started by a SAVEPOINT command instead of a BEGIN command.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-00717-60341-45862-31619-05346-22343-41612-42650</b></dt>
<dd><p>Ptrmap pages must exist in any database file which has a non-zero largest root b-tree page value at offset 52 in the database header.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-00741-38776-05771-28684-24632-02227-32145-23425</b></dt>
<dd><p>A cast of a REAL value into an INTEGER will truncate the fractional part of the REAL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-00767-44770-16975-15707-27043-13440-51014-32740</b></dt>
<dd><p>Compute the number of days since the signing of the US Declaration of Independence. SELECT julianday('now') - julianday('1776-07-04');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-00820-56127-32552-48001-55340-02932-17552-54138</b></dt>
<dd><p>The cache sharing mode set by this interface effects all subsequent calls to sqlite3_open(), sqlite3_open_v2(), and sqlite3_open16(). Existing database connections continue use the sharing mode that was in effect at the time they were opened.
<i>(source <a href="c3ref/enable_shared_cache.html">c3ref/enable_shared_cache.html</a>)</i></p></dd>

<dt><b>R-00862-05326-51946-26490-09320-50697-05494-49603</b></dt>
<dd><p>If neither argument to nullif() defines a collating function then the BINARY is used.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-00888-53115-42960-22822-38463-42827-06390-25797</b></dt>
<dd><p>The prefix option must be set to a comma separated list of positive non-zero integers.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-00917-09393-39202-02128-36060-48881-52217-44853</b></dt>
<dd><p>If no database name is specified and the TEMP keyword is not present then the table is created in the main database.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-00918-16997-33541-06619-01421-44106-53820-17907</b></dt>
<dd><p>For each value N in the list, prefixes of length N bytes (when encoded using UTF-8) are indexed.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-00971-36933-64386-25480-59601-44057-12316-57384</b></dt>
<dd><p>These routines return 1 if the input string appears to be a complete SQL statement.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-00980-39256-56998-08744-11771-59211-03196-47897</b></dt>
<dd><p>A SELECT statement enclosed in parentheses may appear as a scalar quantity.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-01024-14859-24749-42660-19760-50991-31724-08152</b></dt>
<dd><p>The column in the MIN or MAX function must be an indexed column.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-01060-48788-51013-07543-20121-01838-30879-37400</b></dt>
<dd><p>The foreign key for table child5 is an error because even though the parent key column has a unique index, the index uses a different collating sequence.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-01080-23340-38639-20728-26521-10375-12428-21631</b></dt>
<dd><p>With the legacy interface, a more specific error code (for example, SQLITE_INTERRUPT, SQLITE_SCHEMA, SQLITE_CORRUPT, and so forth) can be obtained by calling sqlite3_reset() on the prepared statement.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-01099-23153-64353-38789-60475-21260-04733-65290</b></dt>
<dd><p>The values returned by sqlite3_memory_used() and sqlite3_memory_highwater() include any overhead added by SQLite in its implementation of sqlite3_malloc(), but not overhead added by the any underlying system library routines that sqlite3_malloc() may call.
<i>(source <a href="c3ref/memory_highwater.html">c3ref/memory_highwater.html</a>)</i></p></dd>

<dt><b>R-01232-54838-06099-51737-48729-53565-23196-29255</b></dt>
<dd><p>It is usually an error to attempt to create a new table in a database that already contains a table, index or view of the same name.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-01265-50598-22943-30233-54647-62239-07339-33462</b></dt>
<dd><p>The result of load_extension() is always a NULL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-01277-06213-42474-53306-49270-01327-38555-55249</b></dt>
<dd><p>This function sets the database handle error code and message.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-01298-38284-36243-26684-29926-32770-62313-39537</b></dt>
<dd><p>The sqlite_source_id() function returns a string that identifies the specific version of the source code that was used to build the SQLite library.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-01335-41434-49669-14652-18813-14877-14788-28819</b></dt>
<dd><p>Hence, the histogram data which is collected no left-most column of indices is useless in helping to choose between the range constraints on columns x and y.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-01379-47306-55874-35809-24668-39985-05961-47226</b></dt>
<dd><p>Before any information-bearing page of the database is modified, the original unmodified content of that page is written into the rollback journal.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-01402-03601-05785-14929-05185-63336-09442-11982</b></dt>
<dd><p>If the statement that caused the trigger program to execute is itself part of a trigger program, then that trigger program resumes execution at the beginning of the next step.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-01448-06859-29804-04457-45951-59563-33373-60665</b></dt>
<dd><p>When xSavepoint(X,N) is invoked, that is a signal to the virtual table X that it should save its current state as savepoint N.
<i>(source <a href="vtab.html">vtab.html</a>)</i></p></dd>

<dt><b>R-01450-11152-28406-58151-44531-37891-10618-14069</b></dt>
<dd><p>As the components of a compound SELECT must be simple SELECT statements, they may not contain ORDER BY or LIMIT clauses.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-01463-03846-55774-41515-18498-48278-35486-16549</b></dt>
<dd><p>The DROP TABLE statement removes a table added with the CREATE TABLE statement.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-01476-54324-00474-06545-27810-42527-27940-12435</b></dt>
<dd><p>The ALTER TABLE command does not work on the sqlite_stat1 or sqlite_stat3 tables, but all the content of those tables can be queried using SELECT and can be deleted, augmented, or modified using the DELETE, INSERT, and UPDATE commands.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-01587-15367-52926-43879-39292-01582-45706-36467</b></dt>
<dd><p>xUnpin() is called by SQLite with a pointer to a currently pinned page as its second argument.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-01592-27714-26694-24809-12949-19667-58343-14650</b></dt>
<dd><p>When the EXPLAIN QUERY PLAN phrase appears, the statement returns high-level information regarding the query plan that would have been used.
<i>(source <a href="lang_explain.html">lang_explain.html</a>)</i></p></dd>

<dt><b>R-01608-60102-65317-52352-30720-05415-32906-61116</b></dt>
<dd><p>If the implicit DELETE FROM <tbl> causes any deferred foreign key constraints to be violated, and the violations still exist when the transaction is committed, an error is returned at the time of commit.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-01612-30877-07572-17003-08953-37118-55537-45996</b></dt>
<dd><p>The "vfs" parameter may be used to specify the name of a VFS object that provides the operating system interface that should be used to access the database file on disk.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-01707-21292-14865-10862-25623-35625-38879-45651</b></dt>
<dd><p>It is safe to call this routine from a thread different from the thread that is currently running the database operation.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-01724-22761-13278-31858-02106-19568-34768-00701</b></dt>
<dd><p>If the sub-query is a compound select, then it must not use an ORDER BY clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-01766-15387-49282-35089-26578-35550-62519-17422</b></dt>
<dd><p>The third argument is the value to bind to the parameter.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-01766-56079-01675-00227-41454-02515-08725-53568</b></dt>
<dd><p>These functions return information about the Nth result column returned by the statement, where N is the second function argument.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-01809-52134-43102-64793-33065-39958-53424-53518</b></dt>
<dd><p>If the NATURAL keyword is added to any of the join-ops, then an implicit USING clause is added to the join-constraints. The implicit USING clause contains each of the column names that appear in both the left and right-hand input datasets.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-01862-45642-20021-42706-06373-08124-48431-44069</b></dt>
<dd><p>SQLite automatically frees the memory allocated by sqlite3_aggregate_context() when the aggregate query concludes.
<i>(source <a href="c3ref/aggregate_context.html">c3ref/aggregate_context.html</a>)</i></p></dd>

<dt><b>R-01891-42274-26925-30881-56776-56514-32083-52465</b></dt>
<dd><p>The sqlite3_bind_zeroblob() and sqlite3_result_zeroblob() interfaces and the built-in zeroblob SQL function can be used, if desired, to create an empty, zero-filled blob in which to read or write using this interface.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-02002-57504-34434-01583-03603-06723-12633-24185</b></dt>
<dd><p>Any triggers attached to the table are dropped from the database schema before the implicit DELETE FROM <tbl> is executed, so this cannot cause any triggers to fire.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-02005-53466-64191-45009-56070-04146-49679-01840</b></dt>
<dd><p>This option is used to enable or disable triggers.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>)</i></p></dd>

<dt><b>R-02045-23762-08268-15190-44661-50351-03152-06188</b></dt>
<dd><p>This character may be used in the LIKE pattern to include literal percent or underscore characters.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-02054-15343-41665-64514-11380-36685-28202-41617</b></dt>
<dd><p>For the purposes of detecting duplicate rows, two NULL values are considered to be equal.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-02060-64547-35959-63655-11509-53404-59087-08290</b></dt>
<dd><p>A NOT NULL constraint may only be attached to a column definition, not specified as a table constraint.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-02063-40503-04157-38005-61496-25541-17209-31219</b></dt>
<dd><p>The 2nd argument to the sqlite3_exec() callback function is the number of columns in the result.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-02065-49465-15222-26040-51715-24674-62882-64380</b></dt>
<dd><p>The left-hand side of the LIKE or GLOB operator must be the name of an indexed column with TEXT affinity.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-02204-63196-34665-25585-57735-42246-07132-57008</b></dt>
<dd><p>The net effect is that putting the ON or USING clause expressions for a LEFT JOIN in the WHERE clause effectively converts the query to an ordinary INNER JOIN - albeit an inner join that runs more slowly.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-02223-49279-19512-29951-11875-18036-12006-07318</b></dt>
<dd><p>Subject to filtering associated with the DISTINCT keyword, the number of rows returned by an aggregate query with a GROUP BY clause is the same as the number of groups of rows produced by applying the GROUP BY and HAVING clauses to the filtered input dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-02252-33116-19516-04017-38924-34713-55853-59947</b></dt>
<dd><p>Such an index is used like any other index in the database to optimize queries.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-02287-33529-57702-51380-05125-54682-23740-46632</b></dt>
<dd><p>The shadow tables are ordinary SQLite data tables.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-02313-46896-62483-09816-33283-33292-64343-33302</b></dt>
<dd><p>The subquery is not the right operand of a left outer join.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-02336-39303-27290-23991-25845-02494-13210-07983</b></dt>
<dd><p>The value returned is one of SQLITE_ROLLBACK, SQLITE_IGNORE, SQLITE_FAIL, SQLITE_ABORT, or SQLITE_REPLACE, according to the ON CONFLICT mode of the SQL statement that triggered the call to the xUpdate method of the virtual table.
<i>(source <a href="c3ref/vtab_on_conflict.html">c3ref/vtab_on_conflict.html</a>)</i></p></dd>

<dt><b>R-02345-65444-60943-14398-34223-24956-21175-03626</b></dt>
<dd><p>Columns of the result set include the index name and a flag to indicate whether or not the index is UNIQUE.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-02355-51069-10404-51667-09139-26886-58872-12048</b></dt>
<dd><p>The sqlite3_initialize() routine initializes the SQLite library.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-02402-03425-02840-42627-65060-52098-37241-46689</b></dt>
<dd><p>SQLite has three built-in collating functions: BINARY, NOCASE, and RTRIM.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-02445-31643-12462-38565-43200-47259-24553-56004</b></dt>
<dd><p>The first two constants (SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) cause sqlite3_mutex_alloc() to create a new mutex.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-02452-55255-23051-52258-05350-24145-51359-57873</b></dt>
<dd><p>This in-memory database will vanish when the database connection is closed.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-02526-60953-53079-20441-57017-47857-19506-30877</b></dt>
<dd><p>Formats 8 through 10 that specify only a time assume a date of 2000-01-01.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-02552-35840-06241-57542-28930-20966-35259-36291</b></dt>
<dd><p>If the filename is an empty string, then a private, temporary on-disk database will be created.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-02573-31629-30846-62353-22365-28558-65513-55729</b></dt>
<dd><p>The cast is carried through even if it is lossy and irreversible.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-02595-18934-38766-26109-36357-54761-54151-36696</b></dt>
<dd><p>The wal_checkpoint pragma can be used to invoke this interface from SQL.
<i>(source <a href="c3ref/wal_checkpoint.html">c3ref/wal_checkpoint.html</a>)</i></p></dd>

<dt><b>R-02612-37947-62500-41847-13282-34946-09245-20088</b></dt>
<dd><p>The filename for the database to be attached is the value of the expression that occurs before the AS keyword.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-02650-36887-21025-17890-26577-45175-39281-30209</b></dt>
<dd><p>PRAGMA cache_size; PRAGMA cache_size = pages; PRAGMA cache_size = -kibibytes; Query or change the suggested maximum number of database disk pages that SQLite will hold in memory at once per open database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-02661-56399-16863-16765-39256-52589-25619-21380</b></dt>
<dd><p>If the result of the evaluating the LIMIT clause cannot be losslessly converted to an integer value, it is an error.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-02679-20590-41366-48266-29489-18564-45161-10655</b></dt>
<dd><p>This function may load one or more schemas from database files. If an error occurs during this process, or if the requested table or column cannot be found, an error code is returned and an error message left in the database connection (to be retrieved using sqlite3_errmsg()).
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-02748-19096-10502-39344-29556-06426-40271-21454</b></dt>
<dd><p>This option sets the threading mode to Single-thread.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-02762-06118-02091-47563-07775-65228-64836-17683</b></dt>
<dd><p>If one operand has TEXT affinity and the other has NONE affinity, then TEXT affinity is applied to the other operand.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-02776-14802-36986-43055-33540-06058-61102-35501</b></dt>
<dd><p>The cell pointer array consists of K 2-byte integer offsets to the cell contents.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-02781-38257-61601-52824-21453-60365-23021-11331</b></dt>
<dd><p>The name of the database or table or column can be returned as either a UTF-8 or UTF-16 string.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-02811-30532-06780-49040-22686-08574-20833-13918</b></dt>
<dd><p>The multi-argument min() function returns the argument with the minimum value.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-02823-24537-56381-41482-05439-43543-17760-52541</b></dt>
<dd><p>All journal headers within the same journal must contain the same database page size and sector size.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-02824-47636-45772-64521-23830-46233-52625-44302</b></dt>
<dd><p>Cautious programmers might include assert() statements in their application to verify that values returned by these interfaces match the macros in the header, and thus insure that the application is compiled with matching library and header files. assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER ); assert( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)==0 ); assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
<i>(source <a href="c3ref/libversion.html">c3ref/libversion.html</a>)</i></p></dd>

<dt><b>R-02834-55381-03461-31664-23015-51190-16436-44295</b></dt>
<dd><p>Compute the date and time given a unix timestamp 1092941466, and compensate for your local timezone. SELECT datetime(1092941466, 'unixepoch', 'localtime');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-02854-44844-25004-52722-20972-43816-38252-26758</b></dt>
<dd><p>Transactions created using BEGIN...COMMIT do not nest.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-02874-38817-33703-51785-18711-55321-62678-25711</b></dt>
<dd><p>The sub-query is not a compound select, or it is a UNION ALL compound clause made up entirely of non-aggregate queries, and the parent query: is not itself part of a compound select, is not an aggregate or DISTINCT query, and has no other tables or sub-selects in the FROM clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-02896-44879-31402-29559-09669-33629-62706-33982</b></dt>
<dd><p>SQLite will use no more than two scratch buffers per thread.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-02961-26666-41829-02507-08304-47031-60058-62132</b></dt>
<dd><p>A power failure or program crash or OS crash will cause the outer-most transaction to rollback, undoing all changes that have occurred within that outer transaction, even changes that have supposedly been "committed" by the RELEASE command.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-02967-39447-48493-62980-07323-62892-07266-03012</b></dt>
<dd><p>But there can not be gaps in the columns of the index that are used.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-02989-21050-28671-33221-63054-40934-12075-15702</b></dt>
<dd><p><img src="images/syntax/signed-number.gif"><br>
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-03014-26414-56458-20281-20451-13984-34730-16215</b></dt>
<dd><p>If the LIMIT expression evaluates to a negative value, then there is no upper bound on the number of rows returned.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-03031-24356-65405-31144-24091-48279-38334-39454</b></dt>
<dd><p>First, queries against the primary key are efficient: SELECT * FROM demo_index WHERE id=1;
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-03040-34580-06414-61878-61161-08528-60209-55771</b></dt>
<dd><p>To change auto-vacuum modes, first use the auto_vacuum pragma to set the new desired mode, then invoke the VACUUM command to reorganize the entire database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-03074-57892-20072-01566-09609-39793-17507-25835</b></dt>
<dd><p><img src="images/syntax/indexed-column.gif"><br>
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-03108-01565-06076-29544-14093-00699-65398-01477</b></dt>
<dd><p>If sqlite3_backup_step() cannot obtain a required file-system lock, then the busy-handler function is invoked (if one is specified).
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-03108-55458-13871-22315-35483-39116-29628-08970</b></dt>
<dd><p>The memory space used to hold strings and BLOBs is freed automatically.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-03108-63659-37525-03634-22905-61973-06931-63842</b></dt>
<dd><p>The English language error message for foreign key DML errors is usually "foreign key mismatch" but can also be "no such table" if the parent table does not exist.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-03152-62612-16815-38242-09328-52021-06080-07878</b></dt>
<dd><p>If aConstraintUsage[].omit is true, then the constraint is assumed to be fully handled by the virtual table and is not checked again by SQLite.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-03153-51711-62729-48073-48955-48855-20367-13139</b></dt>
<dd><p>Then an efficient way to find the name of all objects located within the North Carolina 12th District, one may be to run a query like this: SELECT objname FROM demo_data, demo_index WHERE demo_data.id=demo_index.id AND contained_in(demo_data.boundary, :boundary) AND minX>=-81.0 AND maxX=35.0 AND maxY
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-03236-28327-53832-55698-26984-08951-20811-30621</b></dt>
<dd><p>The callback function registered by sqlite3_profile() is invoked as each SQL statement finishes.
<i>(source <a href="c3ref/profile.html">c3ref/profile.html</a>)</i></p></dd>

<dt><b>R-03353-05327-21191-28288-58549-30161-65035-16573</b></dt>
<dd><p>If the configured action is "SET NULL", then when a parent key is deleted (for ON DELETE SET NULL) or modified (for ON UPDATE SET NULL), the child key columns of all rows in the child table that mapped to the parent key are set to contain SQL NULL values.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-03364-08004-01846-16626-35041-21418-01059-33152</b></dt>
<dd><p>This saves disk I/O but at the expense of database safety and integrity.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-03371-37637-45197-41040-02325-30195-01599-52807</b></dt>
<dd><p>A value of 2 means UTF-16le.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-03384-16988-56342-27113-15582-23905-61625-46605</b></dt>
<dd><p>If the 4th parameter to the sqlite3_result_text* interfaces or sqlite3_result_blob is a non-NULL pointer, then SQLite calls that function as the destructor on the text or BLOB result when it has finished using that result.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-03387-12896-30110-08033-64260-38467-31820-29841</b></dt>
<dd><p>For a trigger, the tbl_name column stores the name of the table or view that causes the trigger to fire.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-03407-11483-10764-04340-16731-05555-54147-57723</b></dt>
<dd><p>Each term of the ORDER BY clause is processed separately and may be matched against result columns from different SELECT statements in the compound.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-03415-51114-16877-13927-48292-50475-12409-45422</b></dt>
<dd><p>This routine returns SQLITE_OK if shared cache was enabled or disabled successfully. An error code is returned otherwise.
<i>(source <a href="c3ref/enable_shared_cache.html">c3ref/enable_shared_cache.html</a>)</i></p></dd>

<dt><b>R-03421-22330-15487-45434-55764-30375-36326-03914</b></dt>
<dd><p>The REPLACE command is an alias for the "INSERT OR REPLACE" variant of the INSERT command.
<i>(source <a href="lang_replace.html">lang_replace.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-03421-57988-17823-20871-36963-31591-05991-31026</b></dt>
<dd><p>If the SELECT statement is a simple SELECT, then an ORDER BY may contain any arbitrary expressions.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-03478-24050-02080-63717-24763-14107-62865-40248</b></dt>
<dd><p>Application code can delete all entries from the sqlite_sequence table, but application code cannot drop the sqlite_sequence table.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-03529-13145-61172-45991-35853-35097-63918-09520</b></dt>
<dd><p>Each new VFS becomes the default VFS if the makeDflt flag is set.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-03629-56437-27886-19229-27867-49230-43558-11164</b></dt>
<dd><p>This routine sets a callback function that might be invoked whenever an attempt is made to open a database table that another thread or process has locked.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-03640-13415-56664-14060-37000-49599-27539-06381</b></dt>
<dd><p>A value of 5 means the page is an interior table b-tree page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-03642-28175-07234-22849-20831-22837-60337-13680</b></dt>
<dd><p>For the index above and WHERE clause like this: ... WHERE a=5 AND b IN (1,2,3) AND c IS NULL AND d='hello' The first four columns a, b, c, and d of the index would be usable since those four columns form a prefix of the index and are all bound by equality constraints.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-03650-18079-61121-63570-57348-35510-07530-48237</b></dt>
<dd><p>The languageid option causes the FTS4 table to have an additional hidden integer column that identifies the language of the text contained in each row.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-03679-60639-59233-10900-40024-64867-37353-18498</b></dt>
<dd><p>Equals can be either = or ==.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-03718-56652-35720-52480-53179-27141-13621-15908</b></dt>
<dd><p>The database name is "main" for the main database, "temp" for the temporary database, or the name specified after the AS keyword in an ATTACH statement for an attached database.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-03733-29734-34954-23072-53116-42399-24178-53918</b></dt>
<dd><p>Rowid values may be modified using an UPDATE statement in the same way as any other column value can, either using one of the built-in aliases ("rowid", "oid" or "_rowid_") or by using an alias created by an integer primary key.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-03763-21608-02614-21475-13242-45742-42220-44388</b></dt>
<dd><p>In the legacy interface, the return value will be either SQLITE_BUSY, SQLITE_DONE, SQLITE_ROW, SQLITE_ERROR, or SQLITE_MISUSE.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-03774-63970-49348-18096-09598-62977-03168-07384</b></dt>
<dd><p>If an element of a result row is NULL then the corresponding string pointer for the sqlite3_exec() callback is a NULL pointer.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-03775-43471-64071-42182-04548-19220-35511-30117</b></dt>
<dd><p>For CURRENT_DATE, "YYYY-MM-DD".
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-03793-19254-25835-35208-42396-01402-31770-31653</b></dt>
<dd><p>If you ever delete rows or if you ever create a row with the maximum possible ROWID, then ROWIDs from previously deleted rows might be reused when creating new rows and newly created ROWIDs might not be in strictly ascending order.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-03805-18240-25396-23037-09576-28411-40508-44417</b></dt>
<dd><p>This private database will be automatically deleted as soon as the database connection is closed.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-03816-21626-17112-32643-57381-58430-16315-21594</b></dt>
<dd><p>When running in shared-cache mode, a database operation may fail with an SQLITE_LOCKED error if the required locks on the shared-cache or individual tables within the shared-cache cannot be obtained.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-03880-38961-16553-20098-36513-53865-60133-40229</b></dt>
<dd><p>If the input text contains no SQL (if the input is an empty string or a comment) then *ppStmt is set to NULL.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-03934-63400-35021-15759-28695-34964-02248-59433</b></dt>
<dd><p>However, changing from "none" to "full" or "incremental" can only occur when the database is new (no tables have yet been created) or by running the VACUUM command.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-03993-24285-31190-14311-07438-62351-52230-47181</b></dt>
<dd><p>Only a single authorizer can be in place on a database connection at a time. Each call to sqlite3_set_authorizer overrides the previous call.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-04005-08111-39731-15170-36576-49560-64443-15597</b></dt>
<dd><p>SAVEPOINTs are a method of creating transactions, similar to BEGIN and COMMIT, except that the SAVEPOINT and RELEASE commands are named and may be nested.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-04006-57648-63099-63460-42508-11282-26752-53417</b></dt>
<dd><p>In this case the result of evaluating the left-most expression in the VALUES list is inserted into the left-most column of the new row, and so on.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-04042-24825-64259-53667-46708-22366-11905-57675</b></dt>
<dd><p>To do so, a foreign key definition may be added by modifying the declaration of the track table to the following: CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER, FOREIGN KEY(trackartist) REFERENCES artist(artistid) );
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-04132-09474-00805-46196-04402-30131-02139-26149</b></dt>
<dd><p>If the HAVING clause is an aggregate expression, it is evaluated across all rows in the group.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-04136-04681-09628-27696-46047-23040-33903-21102</b></dt>
<dd><p>If no collating function is explicitly defined, then the collating function defaults to BINARY.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-04156-06964-57164-01636-33935-16787-30855-09296</b></dt>
<dd><p>A call to sqlite3_interrupt(D) that occurs when there are no running SQL statements is a no-op and has no effect on SQL statements that are started after the sqlite3_interrupt() call returns.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-04207-37981-22726-45777-39517-24105-18228-28404</b></dt>
<dd><p>To cast a BLOB value to TEXT, the sequence of bytes that make up the BLOB is interpreted as text encoded using the database encoding.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-04230-65027-27281-23522-50954-57493-39965-31436</b></dt>
<dd><p>This statement detaches an additional database connection previously attached using the ATTACH statement.
<i>(source <a href="lang_detach.html">lang_detach.html</a>)</i></p></dd>

<dt><b>R-04232-24861-40917-13992-27645-07811-63353-60101</b></dt>
<dd><p>Collation names that compare equal according to sqlite3_strnicmp() are considered to be the same name.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-04239-46396-01814-35437-09500-15330-29656-29388</b></dt>
<dd><p>A single zero-byte separates the xOpen filename argument from the key of the first query parameters, each key and value, and each subsequent key from the prior value.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-04240-13860-65376-64948-20761-30630-14399-44960</b></dt>
<dd><p>When comparing values, if the parent key column has an affinity, then that affinity is applied to the child key value before the comparison is performed.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-04272-38653-14303-01704-38451-58113-36784-29823</b></dt>
<dd><p>The "RESTRICT" action means that the application is prohibited from deleting (for ON DELETE RESTRICT) or modifying (for ON UPDATE RESTRICT) a parent key when there exists one or more child keys mapped to it.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-04304-33529-02265-14363-24121-34151-06311-12119</b></dt>
<dd><p>The first parameter "n" is the total size of the buffer, including space for the zero terminator.
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-04425-13680-18982-00806-50027-50568-09550-24420</b></dt>
<dd><p>The amount of space allocated by sqlite3_aggregate_context(C,N) is determined by the N parameter on first successful call. Changing the value of N in subsequent call to sqlite3_aggregate_context() within the same aggregate function instance will not resize the memory allocation.
<i>(source <a href="c3ref/aggregate_context.html">c3ref/aggregate_context.html</a>)</i></p></dd>

<dt><b>R-04450-47777-14788-42766-36602-14112-22925-03409</b></dt>
<dd><p>This API is only available if the library was compiled with the SQLITE_ENABLE_COLUMN_METADATA C-preprocessor symbol defined.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-04452-49349-54233-41206-52506-27116-05869-21475</b></dt>
<dd><p>When the callback returns SQLITE_DENY, the sqlite3_prepare_v2() or equivalent call that triggered the authorizer will fail with an error message explaining that access is denied.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-04460-53386-37328-50072-27408-53032-10915-39219</b></dt>
<dd><p>The third argument is the number of slots.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-04486-07266-01902-48649-32493-31514-19208-51625</b></dt>
<dd><p>Or, if the dataset contains zero rows, then each non-aggregate expression is evaluated against a row consisting entirely of NULL values.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-04527-41458-36687-16089-60868-43636-56199-14424</b></dt>
<dd><p>Automatically started transactions are committed when the last query finishes.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-04530-63331-37041-42549-14186-19880-63499-36384</b></dt>
<dd><p>An individual database connections D can reduce its maximum parameter number below the compile-time maximum using the sqlite3_limit(D, SQLITE_LIMIT_VARIABLE_NUMBER,...) interface.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-04532-11527-60293-16788-37808-59040-51319-08926</b></dt>
<dd><p>The LIKE operator is case sensitive by default for unicode characters that are beyond the ASCII range.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-04558-24451-40018-59769-17015-19792-37809-52993</b></dt>
<dd><p>In this case all scalar expressions are evaluated before any assignments are made.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-04675-44850-10615-34055-22415-21112-63316-33860</b></dt>
<dd><p>The memory returned by sqlite3_malloc() and sqlite3_realloc() is always aligned to at least an 8 byte boundary, or to a 4 byte boundary if the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option is used.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>, checked-by: src/malloc.c)</i></p></dd>

<dt><b>R-04709-28430-14842-03600-36278-03324-37525-06420</b></dt>
<dd><p>The two syntaxes yield identical results.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-04813-30632-36613-23233-44977-18945-21013-25400</b></dt>
<dd><p>Any number of levels of indirection are allowed.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-04816-56144-44599-11234-14128-65131-61660-44235</b></dt>
<dd><p>This function returns the number of direct row changes in the most recent INSERT, UPDATE, or DELETE statement within the same trigger context.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-04857-57605-48133-44150-30535-05379-36560-24650</b></dt>
<dd><p>An attempt to change the journal_mode of an in-memory database to any setting other than MEMORY or OFF is ignored.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-04864-61029-16829-56446-03389-34714-38812-10063</b></dt>
<dd><p>Information about the ORDER BY clause is stored in aOrderBy[].
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-04905-26881-40783-35987-17174-16580-39842-61729</b></dt>
<dd><p>SQLite uses dynamic run-time typing.
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-04922-24076-20312-31472-33218-43152-59920-55175</b></dt>
<dd><p>The sqlite_compileoption_get() SQL function is a wrapper around the sqlite3_compileoption_get() C/C++ function.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-04965-15290-07639-47076-03173-25539-55321-39216</b></dt>
<dd><p>If two or more COLLATE operator subexpressions appear anywhere in a comparison, the left most explicit collating function is used regardless of how deeply the COLLATE operators are nested in the expression and regardless of how the expression is parenthesized.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-04966-20924-22801-44909-48927-53251-60616-56610</b></dt>
<dd><p>The returned string pointer is valid until either the prepared statement is destroyed by sqlite3_finalize() or until the statement is automatically reprepared by the first call to sqlite3_step() for a particular run or until the next call to sqlite3_column_name() or sqlite3_column_name16() on the same column.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-04974-06543-23459-27016-04793-62254-28268-32718</b></dt>
<dd><p>The SQLITE_OPEN_PRIVATECACHE flag causes the database connection to not participate in shared cache mode even if it is enabled.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-05038-25064-50136-23943-62126-35147-57737-05371</b></dt>
<dd><p>You can then access the ROWID using any of four different names, the original three names described above or the name given to the INTEGER PRIMARY KEY column.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-05088-64670-01812-40293-14899-41323-61587-34551</b></dt>
<dd><p>The sqlite_sequence.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-05119-02637-14414-33683-07351-22342-03629-61768</b></dt>
<dd><p>The 4-byte big-endian integer at offset 36 stores stores the total number of pages on the freelist.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-05155-34454-27271-17967-48575-19068-12269-57153</b></dt>
<dd><p>The precedence of the BETWEEN operator is the same as the precedence as operators == and != and LIKE and groups left to right.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-05192-57965-21317-62763-55347-54447-59069-43394</b></dt>
<dd><p>Hence, the string '3.0e+5' is stored in a column with NUMERIC affinity as the integer 300000, not as the floating point value 300000.0.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-05196-58733-44887-26524-08639-58577-62968-38394</b></dt>
<dd><p>The "temp" database (in which TEMP tables and indices are stored) and in-memory databases always uses exclusive locking mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05226-30063-38393-23337-31220-10155-17682-45217</b></dt>
<dd><p>If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the database file will very likely go corrupt.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05239-12850-29861-48267-58259-09367-64321-59571</b></dt>
<dd><p>If no algorithm is specified anywhere, the ABORT algorithm is used.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-05256-02411-03120-41159-49408-38531-58118-03521</b></dt>
<dd><p>The second column is the "main" for the main database file, "temp" for the database file used to store TEMP objects, or the name of the ATTACHed database for other database files.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05272-22592-13374-24756-51597-06491-53677-55023</b></dt>
<dd><p>The index for named parameters can be looked up using the sqlite3_bind_parameter_index() API if desired.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-05363-17893-60997-09697-28202-47991-52787-63067</b></dt>
<dd><p>Views are read-only in SQLite.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-05367-01575-38544-05441-45705-50827-33382-05876</b></dt>
<dd><p>The first argument to the sqlite3_bind_*() routines is always a pointer to the sqlite3_stmt object returned from sqlite3_prepare_v2() or its variants.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-05416-39654-33473-55228-34062-26099-18988-34297</b></dt>
<dd><p>Any callback set by a previous call to sqlite3_commit_hook() for the same database connection is overridden.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-05416-57569-14245-59554-42970-16556-04782-39407</b></dt>
<dd><p>The sqlite3_create_collation_v2() works like sqlite3_create_collation() with the addition that the xDestroy callback is invoked on pArg when the collating function is deleted.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-05452-35198-10871-20803-29102-44206-02290-23562</b></dt>
<dd><p>The object returned by sqlite3_column_value() is an unprotected sqlite3_value object.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-05485-48422-13403-52608-43825-07463-15494-45842</b></dt>
<dd><p>The schema-version is usually only manipulated internally by SQLite. It is incremented by SQLite whenever the database schema is modified (by creating or dropping a table or index).
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05513-33819-59240-57490-36750-56355-20133-11323</b></dt>
<dd><p>It is not an error to create a table that has the same name as an existing trigger.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-05617-50091-64320-09946-64698-41149-46478-61865</b></dt>
<dd><p>In the DELETE mode, the rollback journal is deleted at the conclusion of each transaction.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05644-53956-28885-25038-62165-04272-38392-10037</b></dt>
<dd><p>A WAL always grows from beginning toward the end.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-05646-15132-11020-10123-43884-18508-24247-46472</b></dt>
<dd><p>When synchronous is NORMAL (1), the SQLite database engine will still sync at the most critical moments, but less often than in FULL mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05650-46070-32640-12192-03987-30502-33558-23123</b></dt>
<dd><p>And you can UPDATE, DELETE, INSERT or even DROP the shadow tables, though doing so will corrupt your R*Tree index.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-05693-48487-42509-32993-20525-28591-05760-18227</b></dt>
<dd><p>For the index above and WHERE clause like this: ... WHERE a=5 OR b IN (1,2,3) OR c NOT NULL OR d='hello' The index is not usable because the WHERE clause terms are connected by OR instead of AND.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-05731-00924-21642-36920-42396-08100-00001-17293</b></dt>
<dd><p>The table name must be unqualified for INSERT statements that occur within CREATE TRIGGER statements.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-05734-13629-21302-48631-57775-63447-36504-30462</b></dt>
<dd><p>If an INSERT statement attempts to insert a blob value, or a string or real value that cannot be losslessly converted to an integer into an integer primary key or rowid column, a "datatype mismatch" error occurs and the statement is aborted.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-05791-54928-02769-08459-30778-25258-29853-24680</b></dt>
<dd><p>Running VACUUM ensures that each table and index is largely stored contiguously within the database file.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-05898-54598-22699-61791-29592-33550-33097-15159</b></dt>
<dd><p>Otherwise, if the expression sorted by an ORDER BY clause is a column, then the collating sequence of the column is used to determine sort order.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-05903-08460-38037-43122-07089-54739-62474-34030</b></dt>
<dd><p>If a deferred foreign key constraint is violated, then an error is reported when the user attempts to commit the transaction if the foreign key constraint violations still exist at that point.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-05912-10167-55658-18265-62443-52976-18281-50268</b></dt>
<dd><p>The journal_size_limit pragma may be used to limit the size of rollback-journal and WAL files left in the file-system after transactions or checkpoints.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-05951-02312-23711-17446-20598-09219-25533-37117</b></dt>
<dd><p>This interface is used to retrieve runtime status information about the performance of SQLite, and optionally to reset various highwater marks.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-06021-09373-60954-10709-09959-52253-36320-11394</b></dt>
<dd><p>But extensions can override the match() function with more helpful logic.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-06044-07843-41488-27430-15484-51013-09491-52143</b></dt>
<dd><p>Each page record stores a copy of the content of a page from the database file before it was changed.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-06049-55948-28351-06702-55753-35994-01473-31124</b></dt>
<dd><p>A simple function can be used in any expression.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-06081-00362-40480-25487-62040-62396-65262-38690</b></dt>
<dd><p>The third column of output is the name of the column being indexed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-06085-13761-54522-48441-51146-08233-07521-56188</b></dt>
<dd><p>Unless the table to which the trigger is attached is in the TEMP database, the table being updated by the trigger program must reside in the same database as it.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-06094-55152-33533-26668-27298-05995-61599-07184</b></dt>
<dd><p>Unbound parameters are interpreted as NULL.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-06104-61237-23339-52943-61678-27484-43131-29451</b></dt>
<dd><p>The result set must contain a single column.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-06121-44139-52990-59264-15521-64976-48420-00452</b></dt>
<dd><p>If X is NULL then length(X) is NULL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-06125-22327-52915-34188-45275-42271-34098-17754</b></dt>
<dd><p>As well as SQLITE_OK and SQLITE_DONE, a call to sqlite3_backup_step() may return SQLITE_READONLY, SQLITE_NOMEM, SQLITE_BUSY, SQLITE_LOCKED, or an SQLITE_IOERR_XXX extended error code.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-06184-64035-19129-41964-19001-40522-59120-29266</b></dt>
<dd><p>The second pointer map page will be on page J+3 and that ptrmap page will provide back pointer information for pages J+4 through 2*J+3 inclusive.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-06192-43187-09900-12561-05322-03139-09562-46958</b></dt>
<dd><p>For the right-most column of an index that is used, there can be up to two inequalities that must sandwich the allowed values of the column between two extremes.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-06207-57205-00965-33799-58232-34287-36235-59712</b></dt>
<dd><p><img src="images/syntax/detach-stmt.gif"><br>
<i>(source <a href="lang_detach.html">lang_detach.html</a>)</i></p></dd>

<dt><b>R-06211-52866-60944-51344-33653-00695-35099-44728</b></dt>
<dd><p>A single WAL file can be reused multiple times.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-06247-40710-32264-36174-63374-18082-50900-27234</b></dt>
<dd><p>If the busy-handler returns non-zero before the lock is available, then SQLITE_BUSY is returned to the caller.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-06248-64121-07188-29551-61796-15919-61110-34160</b></dt>
<dd><p>Mutexes created using SQLITE_MUTEX_RECURSIVE can be entered multiple times by the same thread. In such cases the, mutex must be exited an equal number of times before another thread can enter.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-06268-22533-04308-14386-21741-11230-29946-31155</b></dt>
<dd><p>The cache query parameter determines if the new database is opened using shared cache mode or with a private cache.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-06325-15315-47203-37013-07627-21557-12001-05874</b></dt>
<dd><p>In this case, if both operands are NULL, then the IS operator evaluates to 1 (true) and the IS NOT operator evaluates to 0 (false).
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-06367-56981-61813-52742-22421-22635-19629-30966</b></dt>
<dd><p>There is a limit, set using sqlite3_limit() and SQLITE_LIMIT_ATTACHED, to the number of databases that can be simultaneously attached to a single database connection.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-06396-00487-24665-04701-02670-39583-42617-54638</b></dt>
<dd><p>The fourth parameter is an arbitrary client data pointer that is passed through into the xCreate and xConnect methods of the virtual table module when a new virtual table is be being created or reinitialized.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-06467-48849-57565-61954-24161-42230-15845-14512</b></dt>
<dd><p>PRAGMA journal_mode; PRAGMA database.journal_mode; PRAGMA journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | WAL | OFF PRAGMA database.journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | WAL | OFF This pragma queries or sets the journal mode for databases associated with the current database connection.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-06480-34950-60281-23859-23229-38424-06701-10325</b></dt>
<dd><p><img src="images/syntax/ordering-term.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-06483-27112-61838-60600-31039-16842-06931-49767</b></dt>
<dd><p>The xMutexEnd() interface is invoked exactly once for each call to sqlite3_shutdown().
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-06497-44374-00376-59592-23814-22462-41106-13473</b></dt>
<dd><p>The strftime() routine returns the date formatted according to the format string specified as the first argument.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-06526-21822-44146-52005-29553-25229-08273-20735</b></dt>
<dd><p>If the result is a numeric value then sqlite3_column_bytes() uses sqlite3_snprintf() to convert that value to a UTF-8 string and returns the number of bytes in that string.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-06529-47362-28298-49876-57281-01728-38007-39876</b></dt>
<dd><p>Following the size varint are one or more additional varints, one per column.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-06571-04773-06599-01457-22611-05632-63010-56149</b></dt>
<dd><p>If X is NULL or an empty string, then a checkpoint is run on all databases of connection D.
<i>(source <a href="c3ref/wal_checkpoint.html">c3ref/wal_checkpoint.html</a>)</i></p></dd>

<dt><b>R-06617-54588-52951-29775-47412-02155-55122-34673</b></dt>
<dd><p>Each ORDER BY expression may be optionally followed by one of the keywords ASC (smaller values are returned first) or DESC (larger values are returned first).
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-06630-59185-25894-35312-55008-29354-15372-24847</b></dt>
<dd><p>Each modifier is a transformation that is applied to the time value to its left.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-06665-27325-40160-13157-49305-60075-62484-50967</b></dt>
<dd><p>If the argument N is zero then the soft heap limit is disabled.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-06681-36915-07445-41328-35159-18817-58464-46967</b></dt>
<dd><p>The largest Fibonacci weight occurs on the first element of the sequence being summed.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-06710-22511-57136-17945-50070-33110-36192-14395</b></dt>
<dd><p>When case_sensitive_like is disabled, the default LIKE behavior is expressed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-06718-34797-20809-29800-16443-15807-57069-06143</b></dt>
<dd><p>If the UNIQUE keyword appears between CREATE and INDEX then duplicate index entries are not allowed.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-06726-07466-50674-60893-18596-18216-57915-63107</b></dt>
<dd><p>A column name can be any of the names defined in the CREATE TABLE statement or one of the following special identifiers: "ROWID", "OID", or "_ROWID_".
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-06730-09692-37737-40278-41150-46947-53359-48437</b></dt>
<dd><p>Note that the unary + operator also removes type affinity from an expression, and in some cases this can cause subtle changes in the meaning of an expression.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-06827-27714-37662-62265-13123-35942-36667-57305</b></dt>
<dd><p>These routines provide a means to determine the database, table, and table column that is the origin of a particular result column in SELECT statement.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-06842-00595-27459-11943-09880-13369-18922-07215</b></dt>
<dd><p>If the URI contains an authority, then it must be either an empty string or the string "localhost".
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-06866-39125-55055-41490-42674-60526-11809-05930</b></dt>
<dd><p>Freeblocks are always connected in order of increasing offset.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-06868-44093-33901-50180-63066-19596-24201-39627</b></dt>
<dd><p>The collating sequence used for expressions of the form "x IN (y, z, ...)" is the collating sequence of x.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-06920-11647-57198-53546-22558-52613-40073-20013</b></dt>
<dd><p>If the function is registered using the sqlite3_collation_needed() API, then it is passed the names of undefined collation sequences as strings encoded in UTF-8.
<i>(source <a href="c3ref/collation_needed.html">c3ref/collation_needed.html</a>)</i></p></dd>

<dt><b>R-06999-14330-42253-15689-34889-17561-34842-22744</b></dt>
<dd><p>If a WHERE clause is specified, the WHERE expression is evaluated for each row in the input data as a boolean expression. All rows for which the WHERE clause expression evaluates to false are excluded from the dataset before continuing.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-07016-26442-22994-35571-41506-56753-23987-59797</b></dt>
<dd><p>Each of the named columns of the new row is populated with the results of evaluating the corresponding VALUES expression.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-07046-65439-53781-18565-05582-11236-16234-65526</b></dt>
<dd><p>Any of these arguments may be NULL, in which case the corresponding element of metadata is omitted.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-07051-38416-38857-52812-51917-08930-07930-15860</b></dt>
<dd><p>If the declared type contains the string "INT" then it is assigned INTEGER affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-07057-45839-58945-17922-08934-43257-63274-32805</b></dt>
<dd><p>Terms of the WHERE clause can be manually disqualified for use with indices by prepending a unary + operator to the column name.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-07061-20551-45555-61970-58663-33619-01553-07889</b></dt>
<dd><p>If the source database is modified by an external process or via a database connection other than the one being used by the backup operation, then the backup will be automatically restarted by the next call to sqlite3_backup_step().
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-07061-54920-02690-34802-26523-14617-41412-12725</b></dt>
<dd><p>To overcome this problem, SQLite attempts to flatten subqueries in the FROM clause of a SELECT.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-07100-06606-15404-00202-26903-38022-07639-13720</b></dt>
<dd><p>A single quote within the string can be encoded by putting two single quotes in a row - as in Pascal.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-07178-42569-23822-25165-44123-64804-39149-01193</b></dt>
<dd><p>The first time the database is read in EXCLUSIVE mode, a shared lock is obtained and held.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-07223-48323-28604-04641-30689-62184-47326-29698</b></dt>
<dd><p>A nested savepoint transaction may be RELEASEd while the database is in a state that does not satisfy a deferred foreign key constraint.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-07224-37960-07038-64465-45368-63797-43287-02157</b></dt>
<dd><p>The subquery does not use aggregates or the outer query is not DISTINCT.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-07272-22309-27541-26278-30152-44282-17867-64207</b></dt>
<dd><p>The default behavior is for mutexes to be enabled.
<i>(source <a href="c3ref/threadsafe.html">c3ref/threadsafe.html</a>, checked-by: src/sqliteInt.h)</i></p></dd>

<dt><b>R-07280-60510-42023-64617-40990-52816-04160-12840</b></dt>
<dd><p>Assuming the library is compiled with foreign key constraints enabled, it must still be enabled by the application at runtime, using the PRAGMA foreign_keys command.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-07331-34822-27033-34737-57404-62591-62661-47793</b></dt>
<dd><p>The only guarantee is that the destructor will be called before the metadata is dropped.
<i>(source <a href="c3ref/get_auxdata.html">c3ref/get_auxdata.html</a>)</i></p></dd>

<dt><b>R-07373-26855-08191-07958-60277-35412-28383-64233</b></dt>
<dd><p>The SQLITE_FCNTL_VFSNAME opcode can be used to obtain the names of all VFSes in the VFS stack.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-07382-08557-17278-61689-15374-46602-01237-34965</b></dt>
<dd><p>The values returned by these functions are only updated by sqlite3_backup_step().
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-07391-62365-50484-20583-23156-31411-22306-43291</b></dt>
<dd><p>If the result is NULL, then sqlite3_column_bytes() returns zero.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-07393-01823-08752-25333-30222-31178-15035-23553</b></dt>
<dd><p>The text in the sqlite_master.sql column is a copy of the original CREATE statement text that created the object, except normalized as described above and as modified by subsequent ALTER TABLE statements.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-07434-39946-64395-56249-16923-20954-34684-05720</b></dt>
<dd><p>The RELEASE command is like a COMMIT for a SAVEPOINT.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-07443-03104-25430-52440-15603-28211-53431-58552</b></dt>
<dd><p>Shared cache is disabled by default.
<i>(source <a href="c3ref/enable_shared_cache.html">c3ref/enable_shared_cache.html</a>)</i></p></dd>

<dt><b>R-07444-33850-51822-16540-61383-01460-32210-48440</b></dt>
<dd><p>Whitespace and comments that follow the final semicolon are ignored.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-07450-54313-35396-53583-38577-19120-59837-03482</b></dt>
<dd><p>The SQLITE_OPEN_SHAREDCACHE flag causes the database connection to be eligible to use shared cache mode, regardless of whether or not shared cache is enabled using sqlite3_enable_shared_cache().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-07474-04783-61557-15842-18544-20982-63471-50658</b></dt>
<dd><p>Transaction control statements such as BEGIN, COMMIT, ROLLBACK, SAVEPOINT, and RELEASE cause sqlite3_stmt_readonly() to return true, since the statements themselves do not actually modify the database but rather they control the timing of when other statements modify the database.
<i>(source <a href="c3ref/stmt_readonly.html">c3ref/stmt_readonly.html</a>)</i></p></dd>

<dt><b>R-07490-32536-65444-08514-64358-21801-57919-13418</b></dt>
<dd><p>If the specified view cannot be found and an IF EXISTS clause is present in the DROP VIEW statement, then the statement is a no-op.
<i>(source <a href="lang_dropview.html">lang_dropview.html</a>, checked-by: tcl/e_dropview.test)</i></p></dd>

<dt><b>R-07535-34995-01447-54565-38524-09572-39500-26944</b></dt>
<dd><p>The result of avg() is always a floating point value as long as at there is at least one non-NULL input even if all inputs are integers.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-07544-24155-45327-34744-59210-13180-54893-36145</b></dt>
<dd><p>The "CROSS JOIN" join operator produces the same data as the "INNER JOIN", "JOIN" and "," operators
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test, tcl/e_select2.test)</i></p></dd>

<dt><b>R-07548-06087-12762-53515-32578-33672-61878-36013</b></dt>
<dd><p>These routines return the name assigned to a particular column in the result set of a SELECT statement.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-07548-13422-51816-60728-36638-61915-61462-20502</b></dt>
<dd><p>The ORDER BY clause on a DELETE statement is used only to determine which rows fall within the LIMIT. The order in which rows are deleted is arbitrary and is not influenced by the ORDER BY clause.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-07620-38093-30867-55941-58983-29233-64243-15469</b></dt>
<dd><p>SQLite keeps track of the largest ROWID that a table has ever held using an internal table named "sqlite_sequence".
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-07643-43989-02240-56676-20648-32041-01109-19546</b></dt>
<dd><p>An expression that is a simple reference to a column value has the same affinity as the column.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-07667-49537-57124-54989-59227-41131-33160-03537</b></dt>
<dd><p>The result of the CASE expression is the evaluation of the THEN expression that corresponds to the first WHEN expression for which the comparison is true.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-07677-41881-40135-26272-16926-18163-28954-03069</b></dt>
<dd><p>If the largest ROWID is equal to the largest possible integer (9223372036854775807) then the database engine starts picking positive candidate ROWIDs at random until it finds one that is not previously used.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/vdbe.c)</i></p></dd>

<dt><b>R-07677-44926-50918-49822-13370-30168-54851-13094</b></dt>
<dd><p>The format for CURRENT_TIMESTAMP is "YYYY-MM-DD HH:MM:SS".
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-07713-47409-31141-62502-19233-29758-58887-35448</b></dt>
<dd><p>When a UNIQUE constraint violation occurs, the REPLACE algorithm deletes pre-existing rows that are causing the constraint violation prior to inserting or updating the current row and the command continues executing normally.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-07727-56631-19058-51033-37798-11219-19213-34496</b></dt>
<dd><p>Instead of cancelling the transaction, the ROLLBACK TO command restarts the transaction again at the beginning.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-07734-01023-35400-33877-62605-53392-63637-26399</b></dt>
<dd><p>The result of total() is always a floating point value.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-07796-55423-52523-43504-40552-37000-09933-05670</b></dt>
<dd><p>Returns the size in bytes of the BLOB accessible via the successfully opened BLOB handle in its only argument.
<i>(source <a href="c3ref/blob_bytes.html">c3ref/blob_bytes.html</a>)</i></p></dd>

<dt><b>R-07801-24468-36344-27295-15963-50909-61997-55720</b></dt>
<dd><p>SQLITE_LIMIT_COMPOUND_SELECT The maximum number of terms in a compound SELECT statement.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-07865-58192-09859-42993-29277-46278-59857-06081</b></dt>
<dd><p>The 4-byte big-endian integer at offset 92 is the value of the change counter when the version number was stored.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-07866-07572-04759-27245-06319-59551-46387-52672</b></dt>
<dd><p>The temp_store_directory pragma may modify this variable and cause it to point to memory obtained from sqlite3_malloc.
<i>(source <a href="c3ref/temp_directory.html">c3ref/temp_directory.html</a>)</i></p></dd>

<dt><b>R-07866-27301-20685-29645-48664-65136-34349-24758</b></dt>
<dd><p>Format 4 also adds two new boolean record type values (serial types 8 and 9.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-07963-00293-13635-32107-53901-52250-25105-19603</b></dt>
<dd><p>A function implementation with a non-negative nArg parameter is a better match than a function implementation with a negative nArg.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-07986-46024-43778-44003-14770-46888-01136-33565</b></dt>
<dd><p>If an INSERT statement attempts to insert a NULL value into a rowid or integer primary key column, the system chooses an integer value to use as the rowid automatically.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-07987-54086-28782-61595-63457-13975-41237-46869</b></dt>
<dd><p>If the result is a UTF-16 string, then sqlite3_column_bytes() converts the string to UTF-8 and then returns the number of bytes.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-08013-09052-64869-46064-46630-59593-28325-27907</b></dt>
<dd><p>4 N Original content of the page prior to the start of the transaction
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-08023-12605-32642-43845-16740-17726-48491-51878</b></dt>
<dd><p>The sqlite3_compileoption_get() function allows iterating over the list of options that were defined at compile time by returning the N-th compile time option string.
<i>(source <a href="c3ref/compileoption_get.html">c3ref/compileoption_get.html</a>)</i></p></dd>

<dt><b>R-08114-32142-00732-64514-48561-20765-18490-60884</b></dt>
<dd><p>SQLite takes the text result from the application from the 2nd parameter of the sqlite3_result_text* interfaces.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-08161-44559-11294-25208-33337-24402-63584-35626</b></dt>
<dd><p>The xShutdown() method is called by sqlite3_shutdown().
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-08185-34281-12728-08403-04938-30337-50100-31193</b></dt>
<dd><p>The sqlite3_result_blob() interface sets the result from an application-defined function to be the BLOB whose content is pointed to by the second parameter and which is N bytes long where N is the third parameter.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-08195-21952-34144-42523-58914-33404-63629-47185</b></dt>
<dd><p>This function is used to read data from an open BLOB handle into a caller-supplied buffer. N bytes of data are copied into buffer Z from the open BLOB, starting at offset iOffset.
<i>(source <a href="c3ref/blob_read.html">c3ref/blob_read.html</a>)</i></p></dd>

<dt><b>R-08198-48522-54017-24058-29188-47107-45936-39213</b></dt>
<dd><p>The TRUNCATE journaling mode commits transactions by truncating the rollback journal to zero-length instead of deleting it.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-08220-00712-08202-21182-26079-26258-28714-22258</b></dt>
<dd><p>The sqlite3_malloc() routine returns a pointer to a block of memory at least N bytes in length, where N is the parameter.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-08224-30249-18275-36906-02216-43610-40508-55733</b></dt>
<dd><p>Rows are assigned contiguously ascending rowid values, starting with 1, in the order that they are returned by the SELECT statement.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-08267-32299-63841-11105-16971-59372-17886-11855</b></dt>
<dd><p>If Z is omitted then substr(X,Y) returns all characters through the end of the string X beginning with the Y-th.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-08308-17224-38959-45804-35149-08611-40097-56535</b></dt>
<dd><p>The default collating function for all strings is BINARY.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-08348-34672-30710-39534-43438-18204-53248-46501</b></dt>
<dd><p>If the database is opened (and/or created) successfully, then SQLITE_OK is returned. Otherwise an error code is returned.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-08375-20446-26647-36116-19592-16605-23479-65514</b></dt>
<dd><p>Tables in an attached database can be referred to using the syntax database-name.table-name.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-08382-59936-33976-47324-12447-38582-10569-47799</b></dt>
<dd><p>Writes to the BLOB that occurred before the BLOB handle expired are not rolled back by the expiration of the handle, though of course those changes might have been overwritten by the statement that expired the BLOB handle or by other independent statements.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-08385-08814-16494-59705-02420-23410-27891-51332</b></dt>
<dd><p>An application can force the query planner to reread the statistics tables by running ANALYZE sqlite_master.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-08468-48792-53240-63754-20732-07699-03752-10764</b></dt>
<dd><p>Even though the function prototype shows that xEntryPoint() takes no arguments and returns void, SQLite invokes xEntryPoint() with three arguments and expects and integer result as if the signature of the entry point where as follows: &nbsp; int xEntryPoint( &nbsp; sqlite3 *db, &nbsp; const char **pzErrMsg, &nbsp; const struct sqlite3_api_routines *pThunk &nbsp; );
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-08469-46782-59132-04592-41153-65090-64039-23228</b></dt>
<dd><p>PRAGMA collation_list; Return a list of the collating sequences defined for the current database connection.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-08470-40933-39231-45429-29526-36251-38185-62772</b></dt>
<dd><p>The ANALYZE command gathers statistics about tables and indices and stores the collected information in internal tables of the database where the query optimizer can access the information and use it to help make better query planning choices.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-08478-11330-06279-18955-61635-50618-42740-39005</b></dt>
<dd><p>The list of query parameters parameters appended to the xOpen filename is terminated by a single zero-length key.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-08531-36543-43368-50490-58607-10151-50307-46292</b></dt>
<dd><p>A compound SELECT created using UNION ALL operator returns all the rows from the SELECT to the left of the UNION ALL operator, and all the rows from the SELECT to the right of it.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-08551-61977-00536-43869-21824-42581-53338-42827</b></dt>
<dd><p>A value with storage class NULL is considered less than any other value (including another value with storage class NULL).
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-08570-19916-06094-14315-21140-23229-64814-49543</b></dt>
<dd><p>However, when not in write-ahead log mode, the page_size and/or auto_vacuum properties of an existing database may be changed by using the page_size and/or pragma auto_vacuum pragmas and then immediately VACUUMing the database.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-08600-21007-59699-24141-37945-25671-33905-23052</b></dt>
<dd><p>If parameter Y is present then it is used as the separator between instances of X.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-08611-24523-10731-50775-53205-29379-11431-63545</b></dt>
<dd><p>So to insert some data into our sample R*Tree index, we can do something like this: INSERT INTO demo_index VALUES( 1, -- Primary key -80.7749, -80.7747, -- Longitude range 30.3776, 30.3778 -- Latitude range ); INSERT INTO demo_index VALUES( 2, -81.0, -79.6, 35.0, 36.2 );
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-08669-22397-26856-32296-22372-63471-24126-56225</b></dt>
<dd><p>The number of columns in the rows returned by a simple SELECT statement is equal to the number of expressions in the result expression list after substitution of * and alias.* expressions.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-08702-09805-37818-25319-39065-12548-64378-42477</b></dt>
<dd><p>The sqlite3_commit_hook() interface registers a callback function to be invoked whenever a transaction is committed.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-08782-34587-24709-60747-46157-12897-42098-02206</b></dt>
<dd><p>sqlite3_release_memory() returns the number of bytes actually freed, which might be more or less than the amount requested.
<i>(source <a href="c3ref/release_memory.html">c3ref/release_memory.html</a>)</i></p></dd>

<dt><b>R-08861-34280-62866-63452-63262-62491-16025-47018</b></dt>
<dd><p>If the simple SELECT is a SELECT ALL, then the entire set of result rows are returned by the SELECT.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-08904-24719-11346-47287-22123-01310-57737-05262</b></dt>
<dd><p>Sum() will throw an "integer overflow" exception if all inputs are integers or NULL and an integer overflow occurs at any point during the computation.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-08908-23439-37383-27763-09062-14229-58252-49666</b></dt>
<dd><p>A CREATE TABLE command operates the same whether or not foreign key constraints are enabled.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-08914-63790-06643-47289-00974-31735-19483-54546</b></dt>
<dd><p>The operator % outputs the value of its left operand modulo its right operand.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-08916-58393-39719-51162-04738-33368-03102-45258</b></dt>
<dd><p>This interface disables all automatic extensions previously registered using sqlite3_auto_extension().
<i>(source <a href="c3ref/reset_auto_extension.html">c3ref/reset_auto_extension.html</a>)</i></p></dd>

<dt><b>R-08951-19801-08417-23581-55505-30558-59834-07757</b></dt>
<dd><p>When searching database schemas for a named object, objects of types that cannot be used in the context of the reference are always ignored.
<i>(source <a href="lang_naming.html">lang_naming.html</a>, checked-by: tcl/e_resolve.test)</i></p></dd>

<dt><b>R-09005-28791-60027-45340-35703-17892-19441-18649</b></dt>
<dd><p>Replacing the phrase above with any of the following creates an immediate foreign key constraint. NOT DEFERRABLE INITIALLY DEFERRED -- An immediate foreign key constraint NOT DEFERRABLE INITIALLY IMMEDIATE -- An immediate foreign key constraint NOT DEFERRABLE -- An immediate foreign key constraint DEFERRABLE INITIALLY IMMEDIATE -- An immediate foreign key constraint DEFERRABLE -- An immediate foreign key constraint
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-09022-44606-06842-17388-21408-48931-57788-61269</b></dt>
<dd><p>sqlite> CREATE INDEX i1 ON t1(a); sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; 0|0|0|SEARCH TABLE t1 USING INDEX i1 (a=?) (~10 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-09033-01493-08484-25490-18731-61378-37357-02599</b></dt>
<dd><p>As of SQLite version 3.6.19, the default setting for foreign key enforcement is OFF.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-09056-11515-12774-07770-59896-07057-39657-55585</b></dt>
<dd><p>If nByte is non-negative, then it is the maximum number of bytes read from zSql.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-09068-40660-27195-07118-53993-03715-03215-45426</b></dt>
<dd><p>A return of SQLITE_BUSY or SQLITE_LOCKED from sqlite3_backup_step() is not a permanent error and does not affect the return value of sqlite3_backup_finish().
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-09224-24423-49994-35052-44782-07327-29162-57753</b></dt>
<dd><p>Call the sqlite3_enable_load_extension() routine with onoff==1 to turn extension loading on and call it with onoff==0 to turn it back off again.
<i>(source <a href="c3ref/enable_load_extension.html">c3ref/enable_load_extension.html</a>)</i></p></dd>

<dt><b>R-09261-30775-60628-01529-14091-08694-38549-11160</b></dt>
<dd><p>Locks are not acquired until the first read or write operation.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-09295-61337-32073-06786-13373-31465-59006-42307</b></dt>
<dd><p>Casting a TEXT or BLOB value into NUMERIC first does a forced conversion into REAL but then further converts the result into INTEGER if and only if the conversion from REAL to INTEGER is lossless and reversible.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-09310-54000-20676-45974-44442-40354-59533-62372</b></dt>
<dd><p>For the GLOB operator, the column must be indexed using the built-in BINARY collating sequence.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-09323-30470-62004-36090-30809-61331-17692-32313</b></dt>
<dd><p>If a statement modifies the contents of the database so that an immediate foreign key constraint is in violation at the conclusion the statement, an exception is thrown and the effects of the statement are reverted.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-09385-24237-02595-13081-61892-09820-41014-64589</b></dt>
<dd><p>Finally, the database is flushed to persistent storage using another xSync method call.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-09398-26102-26496-59828-02242-35200-16935-00376</b></dt>
<dd><p>Otherwise, if the ORDER BY expression is an alias to an expression that has been assigned a collation sequence using the postfix COLLATE operator, then the collation sequence assigned to the aliased expression is used.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-09458-10155-15158-32437-48979-56448-00494-45626</b></dt>
<dd><p>When the flag is off, new databases are created using the latest file format which might not be readable or writable by versions of SQLite prior to 3.3.0.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-09479-17959-18929-07004-59700-09241-00688-08802</b></dt>
<dd><p>Indirect deadlock is also detected, so the system is also considered to be deadlocked if connection B has registered for an unlock-notify callback on the conclusion of connection C's transaction, where connection C is waiting on connection A.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-09543-06473-23021-32220-32793-21583-15245-47596</b></dt>
<dd><p>A NULL pointer can be used in place of "main" to refer to the main database file.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-09564-22170-27375-05763-54488-45369-57253-27733</b></dt>
<dd><p>Whenever a row in the parent table of a foreign key constraint is deleted, or when the values stored in the parent key column or columns are modified, the logical sequence of events is: Execute applicable BEFORE trigger programs, Check local (non foreign key) constraints, Update or delete the row in the parent table, Perform any required foreign key actions, Execute applicable AFTER trigger programs.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-09569-43120-63415-51925-62643-35022-32061-47045</b></dt>
<dd><p>The checksum is an unsigned 32-bit integer computed as follows: Initialize the checksum to the checksum nonce value found in the journal header at offset 12. Initialize index X to be N-200 (where N is the size of a database page in bytes. Interpret the four bytes at offset X into the page as a 4-byte big-endian unsigned integer. Add the value of that integer to the checksum. Subtrace 200 from X. If X is greater than or equal to zero, go back to step 3.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-09593-03321-24060-42412-44512-07305-25128-61318</b></dt>
<dd><p>BLOB literals are string literals containing hexadecimal data and preceded by a single "x" or "X" character.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-09606-17150-22417-06889-63193-11228-63947-46501</b></dt>
<dd><p>Virtual terms can be used with indices to restrict a search.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-09651-31805-63758-44025-19992-32343-60168-27850</b></dt>
<dd><p>If "ro" is specified, then the database is opened for read-only access, just as if the SQLITE_OPEN_READONLY flag had been set in the third argument to sqlite3_prepare_v2().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-09669-59284-18904-57253-21475-23488-47064-03765</b></dt>
<dd><p>Text values (odd serial types 13 and larger) sort after numeric values in the order determined by the columns collating function.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-09681-58560-10305-15727-00297-35868-05335-61175</b></dt>
<dd><p>The table-name specified as part of a DELETE statement within a trigger body must be unqualified.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-09690-36749-32488-48064-52716-25618-00967-04296</b></dt>
<dd><p>In other words, the database-name. prefix on the table name of the UPDATE is not allowed within triggers.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-09702-18252-10292-02056-28728-37972-55531-64507</b></dt>
<dd><p>Thus INSERT OR FAIL, INSERT OR IGNORE, INSERT OR ROLLBACK, and INSERT OR ABORT make no changes to the return value of this routine when their insertion fails.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-09704-29281-62509-09033-18405-10464-02206-26533</b></dt>
<dd><p>The sqlite3_exec() interface runs zero or more UTF-8 encoded, semicolon-separate SQL statements passed into its 2nd argument, in the context of the database connection passed in as its 1st argument.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-09738-11588-38199-37460-01868-03727-01471-61458</b></dt>
<dd><p><img src="images/syntax/savepoint-stmt.gif"><br>
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-09748-03241-62835-60245-32173-07711-55769-04429</b></dt>
<dd><p>This flag determines whether or not the F_FULLFSYNC syncing method is used on systems that support it.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-09773-40602-32968-36782-04559-37578-19507-63398</b></dt>
<dd><p>Or if no collating sequence is otherwise defined, the built-in BINARY collating sequence is used.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-09782-32948-24767-08594-36498-62288-40921-54378</b></dt>
<dd><p>If the discard parameter is zero, then the page may be discarded or retained at the discretion of page cache implementation.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-09783-65036-25423-48067-42538-45414-00279-46435</b></dt>
<dd><p>If the sub-query is a compound select, then all terms of the ORDER by clause of the parent must be simple references to columns of the sub-query.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-09798-06276-54780-63214-14309-15802-32530-00850</b></dt>
<dd><p>As long as the buffer size is greater than zero, sqlite3_snprintf() guarantees that the buffer is always zero-terminated.
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-09808-17554-50654-05359-25920-63839-21736-07612</b></dt>
<dd><p>SQLITE_LIMIT_SQL_LENGTH The maximum length of an SQL statement, in bytes.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-09813-17279-59166-04895-48075-17845-31813-35638</b></dt>
<dd><p>Also, GLOB is case sensitive, unlike LIKE.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-09849-00220-60139-37223-30218-05088-34235-14106</b></dt>
<dd><p>A negative value for the zeroblob results in a zero-length BLOB.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-09926-13037-28682-17032-17329-45107-57208-31581</b></dt>
<dd><p>There is a one-to-one mapping between rows in a table and entries in each index associated with that table.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-09943-43999-40050-60099-27352-31262-44628-15476</b></dt>
<dd><p>An attempt to ATTACH a database with a different text encoding from the "main" database will fail.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-10030-07847-17306-25091-45900-44869-17247-42390</b></dt>
<dd><p>If a NOT NULL constraint violation occurs, the REPLACE conflict resolution replaces the NULL value with he default value for that column, or if the column has no default value, then the ABORT algorithm is used.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-10066-26552-54015-08012-45446-13573-10240-21333</b></dt>
<dd><p>If the lossless conversion of TEXT to INTEGER or REAL is not possible then the value is stored using the TEXT storage class.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-10099-10064-58361-57180-39744-05216-32972-43593</b></dt>
<dd><p>The histogram data is only useful if the right-hand side of the constraint is a simple compile-time constant or parameter and not an expression.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-10195-31023-11676-16507-03857-40935-22514-60833</b></dt>
<dd><p>If a <database-name> is specified, it must be either "main", "temp", or the name of an attached database.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-10203-42688-05745-20246-57567-01031-33670-42087</b></dt>
<dd><p>The callback registered by this function replaces any existing callback registered using sqlite3_wal_hook().
<i>(source <a href="c3ref/wal_autocheckpoint.html">c3ref/wal_autocheckpoint.html</a>)</i></p></dd>

<dt><b>R-10231-33192-57225-15166-03458-30620-49896-31858</b></dt>
<dd><p>This interface can be used to retrieve a saved copy of the original SQL text used to create a prepared statement if that statement was compiled using either sqlite3_prepare_v2() or sqlite3_prepare16_v2().
<i>(source <a href="c3ref/sql.html">c3ref/sql.html</a>)</i></p></dd>

<dt><b>R-10260-62465-16896-41827-00033-64414-58979-23233</b></dt>
<dd><p>PRAGMA reverse_unordered_selects; PRAGMA reverse_unordered_selects = boolean;
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-10284-11658-30925-56941-44506-24940-01613-45379</b></dt>
<dd><p>The depth of recursion for triggers has a hard upper limit set by the SQLITE_MAX_TRIGGER_DEPTH compile-time option and a run-time limit set by sqlite3_limit(db,SQLITE_LIMIT_TRIGGER_DEPTH,...).
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-10288-43169-38615-33402-21461-36827-14410-01457</b></dt>
<dd><p>For the purposes of the DEFAULT clause, an expression is considered constant provided that it does not contain any sub-queries or string constants enclosed in double quotes.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-10346-40046-35521-21776-43630-65428-20399-28702</b></dt>
<dd><p>The CREATE TRIGGER statement is used to add triggers to the database schema.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-10393-27560-44275-02566-07675-36741-21342-01930</b></dt>
<dd><p>Affinity is applied to operands of a comparison operator prior to the comparison according to the following rules in the order shown:
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-10396-30188-46343-25997-25410-36538-31299-06809</b></dt>
<dd><p>Aggregate min() returns NULL if and only if there are no non-NULL values in the group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-10466-53920-46827-22051-27556-17000-33700-37865</b></dt>
<dd><p>Calling sqlite3_wal_hook() replaces any previously registered write-ahead log callback.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-10470-30318-56877-28142-06718-49670-04430-59485</b></dt>
<dd><p>The usual rules for selecting a collation sequence with which to compare text values apply when evaluating expressions in a GROUP BY clause.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-10477-59572-35916-33197-44074-53826-19513-26308</b></dt>
<dd><p>Note that unlike that plain ROLLBACK command (without the TO keyword) the ROLLBACK TO command does not cancel the transaction.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-10484-47921-51855-29245-64644-01052-63397-23881</b></dt>
<dd><p>Views are removed with the DROP VIEW command.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-10487-06498-43070-01372-57532-56331-23782-33348</b></dt>
<dd><p>If two or more tables in different databases have the same name and the database-name prefix is not used on a table reference, then the table chosen is the one in the database that was least recently attached.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-10498-57086-37452-22554-31064-17235-16247-62729</b></dt>
<dd><p>When nByte is non-negative, the zSql string ends at either the first '\000' or '\u0000' character or the nByte-th byte, whichever comes first.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-10543-26736-58011-26768-22566-64168-18081-13550</b></dt>
<dd><p>This API makes sure a global version of a function with a particular name and number of parameters exists. If no such function exists before this API is called, a new function is created.
<i>(source <a href="c3ref/overload_function.html">c3ref/overload_function.html</a>)</i></p></dd>

<dt><b>R-10565-09557-60911-42161-01648-20022-48231-49571</b></dt>
<dd><p>The declared type of a column is used to determine the affinity of the column only.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-10645-12439-29307-46302-11314-15082-25631-53469</b></dt>
<dd><p>In particular, rows containing NULL values are not handled any differently from rows without NULL values.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-10715-11594-42361-64533-62693-34754-22491-52002</b></dt>
<dd><p>The round(X,Y) function returns a floating-point value X rounded to Y digits to the right of the decimal point.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-10717-02538-23214-42555-35648-10956-24290-47354</b></dt>
<dd><p>Each component query of a compound query (UNION, UNION ALL, EXCEPT or INTERSECT) is assigned its own selectid and reported on separately.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-10722-45310-03105-41587-65268-38930-36590-56175</b></dt>
<dd><p>All intervening SAVEPOINTs are canceled, however.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-10734-24248-12820-36089-32208-53594-64364-42192</b></dt>
<dd><p>In other words, if many of the queries run against the FTS4 table use "ORDER BY docid DESC", then it may improve performance to add the "order=desc" option to the CREATE VIRTUAL TABLE statement.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-10777-25114-28148-35067-60781-11341-59885-20930</b></dt>
<dd><p>Both the first and second forms of the pragma listed above return a single result row containing a single integer column - the value of the journal size limit in bytes.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-10827-60271-29957-56948-24015-30184-30486-05573</b></dt>
<dd><p>If the journal mode could not be changed, the original journal mode is returned.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-10872-29236-42160-60950-06300-37629-08228-11119</b></dt>
<dd><p>This option specifies a static memory buffer that SQLite can use for scratch memory.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-10872-35808-62525-46404-48063-22154-06728-34056</b></dt>
<dd><p>Transactions involving multiple attached databases are atomic, assuming that the main database is not ":memory:" and the journal_mode is not WAL.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-10883-17697-39247-15529-29929-13310-12082-24783</b></dt>
<dd><p>For the purposes of sorting rows, values are compared in the same way as for comparison expressions.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-10886-33090-42835-40467-38387-59487-39282-25653</b></dt>
<dd><p>When a connection (known as the blocked connection) fails to obtain a shared-cache lock and SQLITE_LOCKED is returned to the caller, the identity of the database connection (the blocking connection) that has locked the required resource is stored internally.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-10893-13770-29008-51080-40727-44407-18243-57719</b></dt>
<dd><p>On success, sqlite3_blob_read() returns SQLITE_OK. Otherwise, an error code or an extended error code is returned.
<i>(source <a href="c3ref/blob_read.html">c3ref/blob_read.html</a>)</i></p></dd>

<dt><b>R-10900-57544-37938-07934-32518-44927-61812-27434</b></dt>
<dd><p>The rollback journal file can be deleted
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-10927-26133-64625-21951-56674-25631-48081-51767</b></dt>
<dd><p>The ORDER BY clause on an UPDATE statement is used only to determine which rows fall within the LIMIT. The order in which rows are modified is arbitrary and is not influenced by the ORDER BY clause.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-10933-37470-14937-54231-03343-64899-21190-46936</b></dt>
<dd><p>The index for "?NNN" parameters is the value of NNN.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-10948-48115-30420-45129-26938-33308-29061-07454</b></dt>
<dd><p>The ADD COLUMN syntax is used to add a new column to an existing table.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-10964-23144-03179-07180-41128-15464-48410-22347</b></dt>
<dd><p>If the source database is modified by the using the same database connection as is used by the backup operation, then the backup database is automatically updated at the same time.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-10993-11647-55800-55293-06436-13332-42842-10882</b></dt>
<dd><p>It is only when the shared-memory wal-index is omitted, when the locking mode is EXCLUSIVE prior to the first WAL-mode database access, that the locking mode is stuck in EXCLUSIVE.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-11041-58701-63446-54854-64444-07239-52476-54830</b></dt>
<dd><p>In a database that uses ptrmap pages, all pages at locations identified by the computation in the previous paragraph must be ptrmap page and no other page may be a ptrmap page. Except, if the byte-lock page happens to fall on the same page number as a ptrmap page, then the ptrmap is moved to the following page for that one case.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-11061-58747-31587-59612-39335-16677-23352-15397</b></dt>
<dd><p>If N is less than 1 then a 1-byte random blob is returned.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-11062-21931-47759-21146-52801-65238-28754-37817</b></dt>
<dd><p>szPage will always a power of two.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-11078-03945-63030-33506-24033-34573-31697-17195</b></dt>
<dd><p>The implicit DELETE does not cause any SQL triggers to fire, but may invoke foreign key actions or constraint violations.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-11105-02233-02526-56915-44997-17081-42713-55650</b></dt>
<dd><p>It must be harmless to invoke xMutexInit() multiple times within the same process and without intervening calls to xMutexEnd().
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-11123-27815-09303-31333-40387-54915-57814-45751</b></dt>
<dd><p>If certain kinds of errors occur within a transaction, the transaction may or may not be rolled back automatically. The errors that cause the behavior include: SQLITE_FULL: database or disk full SQLITE_IOERR: disk I/O error SQLITE_BUSY: database in use by another process SQLITE_NOMEM: out or memory SQLITE_INTERRUPT: processing interrupted by application request
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-11127-09633-57185-22901-21397-40062-06184-59885</b></dt>
<dd><p>If there is an error, *ppStmt is set to NULL.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-11129-23371-40000-09444-50753-04787-03077-31414</b></dt>
<dd><p>END TRANSACTION is an alias for COMMIT.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-11162-32742-04957-49790-62717-44478-27100-43420</b></dt>
<dd><p>Datatype conversions in comparisons of the form "x IN (SELECT y ...)" are handled is if the comparison were really "x=y".
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-11203-26095-47421-44988-44413-41576-06585-21050</b></dt>
<dd><p>The sqlite3_result_error() and sqlite3_result_error16() routines make a private copy of the error message text before they return.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-11226-46663-42731-44808-54857-63929-35681-11721</b></dt>
<dd><p>The SQLITE_SOURCE_ID string contains the date and time of the check-in (UTC) and an SHA1 hash of the entire source tree.
<i>(source <a href="c3ref/c_source_id.html">c3ref/c_source_id.html</a>)</i></p></dd>

<dt><b>R-11241-54478-18941-45655-01844-39578-11562-47598</b></dt>
<dd><p>As an example, consider creating a two-dimensional R*Tree index for use in spatial queries: CREATE VIRTUAL TABLE demo_index USING rtree( id, -- Integer primary key minX, maxX, -- Minimum and maximum X coordinate minY, maxY -- Minimum and maximum Y coordinate );
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-11255-19907-56460-39957-30226-19999-22429-23256</b></dt>
<dd><p>The following command-line session demonstrates this: sqlite> PRAGMA foreign_keys; 0 sqlite> PRAGMA foreign_keys = ON; sqlite> PRAGMA foreign_keys; 1 sqlite> PRAGMA foreign_keys = OFF; sqlite> PRAGMA foreign_keys; 0
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-11290-60355-43377-26029-27960-65452-54790-61013</b></dt>
<dd><p>The top-level SELECT statement is always assigned the selectid value 0.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-11295-04657-09653-04480-53801-04231-56338-07604</b></dt>
<dd><p>The operand to the right of the LIKE operator contains the pattern and the left hand operand contains the string to match against the pattern.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-11315-64212-00710-49784-05093-45690-30554-02549</b></dt>
<dd><p>The default busy callback is NULL.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-11321-47427-17901-35193-41209-48737-39207-23278</b></dt>
<dd><p>Any leading spaces in the TEXT value are ignored when converging from TEXT to REAL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-11345-24891-48483-09798-42153-35485-11277-64815</b></dt>
<dd><p>The 4-byte big-endian integer at offset 28 into the header stores the size of the database file in pages.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-11353-33501-27322-51182-17487-44106-28134-49701</b></dt>
<dd><p><img src="images/syntax/join-constraint.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-11370-04520-26477-32393-15829-52644-05616-39032</b></dt>
<dd><p>Named parameters are also numbered. The number assigned is one greater than the largest parameter number already assigned.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-11423-52711-44857-10860-28486-08502-59467-30884</b></dt>
<dd><p>If either operand is a column, then the collating function of that column is used with precedence to the left operand.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-11479-62774-14648-38644-49524-53539-14021-51295</b></dt>
<dd><p>When comparing a base expression against a WHEN expression, the same collating sequence, affinity, and NULL-handling rules apply as if the base expression and WHEN expression are respectively the left- and right-hand operands of an = operator.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-11498-58022-52113-15294-58649-22171-38649-39142</b></dt>
<dd><p>In a well-formed b-tree page, the total number of bytes in fragments may not exceed 60.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-11521-32715-49015-26965-23184-37142-58500-02249</b></dt>
<dd><p>The unary + is a no-op and will not slow down the evaluation of the test specified by the term.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-11549-19921-03928-49162-57832-06313-31858-02375</b></dt>
<dd><p>With synchronous=FULL in WAL mode, an additional sync operation of the WAL file happens after each transaction commit.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-11566-63657-14865-04704-35153-27057-50201-14742</b></dt>
<dd><p>The 4-byte big-endian integer at offset 56 determines the encoding used for all text strings stored in the database.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-11576-11990-36701-63648-24289-51988-09315-26987</b></dt>
<dd><p>An attempt to invoke the BEGIN command within a transaction will fail with an error, regardless of whether the transaction was started by SAVEPOINT or a prior BEGIN.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-11620-22743-59737-64939-21707-40674-29550-48097</b></dt>
<dd><p>A colon followed by an identifier name holds a spot for a named parameter with the name :AAAA.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-11628-62147-05445-61752-17620-56103-14750-56419</b></dt>
<dd><p>No attempt is made to convert NULL or BLOB values.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-11684-02844-26168-40557-28007-15193-14492-18686</b></dt>
<dd><p>The explicit COMMIT command runs immediately, even if there are pending SELECT statements.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-11730-53816-33732-41455-13175-02323-60121-55502</b></dt>
<dd><p>The compound SELECT operators UNION, INTERSECT and EXCEPT perform implicit comparisons between values.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-11740-30529-09837-33143-12061-13377-09078-25577</b></dt>
<dd><p>The sqlite3_db_status() routine returns SQLITE_OK on success and a non-zero error code on failure.
<i>(source <a href="c3ref/db_status.html">c3ref/db_status.html</a>)</i></p></dd>

<dt><b>R-11741-40540-42615-46409-59010-22688-11320-56007</b></dt>
<dd><p>The SQLite core only provides implementations for these routines when it is compiled with the SQLITE_DEBUG flag.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-11799-54013-19740-27693-35471-55958-11272-42681</b></dt>
<dd><p>The sqlite_master table contains entries for internal schema objects in addition to application- and programmer-defined objects.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-11836-25368-59503-10557-36932-45800-11418-22171</b></dt>
<dd><p>If the declared type for a column contains the string "BLOB" or if no type is specified then the column has affinity NONE.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-11848-39326-04026-39006-16097-08947-10502-17699</b></dt>
<dd><p>When secure-delete on, SQLite overwrites deleted content with zeros.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-11856-19836-24274-28109-29706-17487-59516-28752</b></dt>
<dd><p>For example: -- Database schema CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER DEFAULT 0 REFERENCES artist(artistid) ON DELETE SET DEFAULT ); sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 3 Sammy Davis Jr. sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 14 Mr. Bojangles 3 sqlite> -- Deleting the row from the parent table causes the child key sqlite> -- value of the dependent row to be set to integer value 0. However, this sqlite> -- value does not correspond to any row in the parent table. Therefore sqlite> -- the foreign key constraint is violated and an is exception thrown. sqlite> DELETE FROM artist WHERE artistname = 'Sammy Davis Jr.'; SQL error: foreign key constraint failed sqlite> -- This time, the value 0 does correspond to a parent table row. And sqlite> -- so the DELETE statement does not violate the foreign key constraint sqlite> -- and no exception is thrown. sqlite> INSERT INTO artist VALUES(0, 'Unknown Artist'); sqlite> DELETE FROM artist WHERE artistname = 'Sammy Davis Jr.'; sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 0 Unknown Artist sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 14 Mr. Bojangles 0
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-11896-08162-39829-09724-10165-05972-28450-60411</b></dt>
<dd><p>The "none" setting means that auto-vacuum is disabled.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-11902-61139-20589-18768-62233-32075-51151-61981</b></dt>
<dd><p><img src="images/syntax/release-stmt.gif"><br>
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-11920-30904-34388-20276-30838-60938-49360-56760</b></dt>
<dd><p>If the result is NULL, then sqlite3_column_bytes16() returns zero.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-11975-28707-46522-06276-23691-04065-63160-37521</b></dt>
<dd><p>The third and fourth parameters to this routine are passed directly through to the second and third parameters of the xFileControl method.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-11976-23534-61150-43568-11270-52721-42271-48852</b></dt>
<dd><p>If page B is a ptrmap page then back-link information about page B+1 is provided by the first entry on the pointer map. Information about page B+2 is provided by the second entry. And so forth.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-12066-60443-34830-42121-25260-11216-42763-03471</b></dt>
<dd><p>Calling sqlite3_close() with a NULL pointer argument is a harmless no-op.
<i>(source <a href="c3ref/close.html">c3ref/close.html</a>)</i></p></dd>

<dt><b>R-12104-35971-65257-58163-03125-32650-03522-02366</b></dt>
<dd><p>If no ROWID is specified on the insert, or if the specified ROWID has a value of NULL, then an appropriate ROWID is created automatically.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-12122-63718-20895-59540-48059-45215-41359-12518</b></dt>
<dd><p><img src="images/syntax/begin-stmt.gif"><br>
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-12123-54095-45651-21328-13666-03690-37485-08653</b></dt>
<dd><p>The table-name specified as part of an UPDATE statement within a trigger body must be unqualified.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-12168-36613-28272-64664-28588-05948-62910-42845</b></dt>
<dd><p>Freelist leaf pages bear no information that would need to be restored on a rollback and so they are not written to the journal prior to modification, in order to reduce disk I/O.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-12183-43719-06718-33366-17178-17275-22858-03286</b></dt>
<dd><p>Table columns that do not appear in the column list are populated with the default column value (specified as part of the CREATE TABLE statement), or with NULL if no default value is specified.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-12238-55120-28128-47311-07751-08633-28104-35625</b></dt>
<dd><p>Whenever a PRAGMA statement is parsed, an SQLITE_FCNTL_PRAGMA file control is sent to the open sqlite3_file object corresponding to the database file to which the pragma statement refers.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-12253-03857-23707-37833-05511-18068-12774-39997</b></dt>
<dd><p>If a memory allocation error occurs during the evaluation of any of these routines, a default value is returned. The default value is either the integer 0, the floating point number 0.0, or a NULL pointer. Subsequent calls to sqlite3_errcode() will return SQLITE_NOMEM.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-12271-02651-64139-38097-45875-33970-39168-37355</b></dt>
<dd><p>If SQLite needs needs additional scratch memory beyond what is provided by this configuration option, then sqlite3_malloc() will be used to obtain the memory needed.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-12275-61338-03637-10461-60018-19416-13010-07977</b></dt>
<dd><p>If the table has previously held a row with the largest possible ROWID, then new INSERTs are not allowed and any attempt to insert a new row will fail with an SQLITE_FULL error.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/vdbe.c)</i></p></dd>

<dt><b>R-12374-37755-19006-43319-29109-21110-40176-02153</b></dt>
<dd><p>The locking-mode is either NORMAL or EXCLUSIVE.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-12385-29357-06321-01436-47924-30729-53833-26197</b></dt>
<dd><p>If any of the sqlite3_bind_*() routines are called with a NULL pointer for the prepared statement or with a prepared statement for which sqlite3_step() has been called more recently than sqlite3_reset(), then the call will return SQLITE_MISUSE.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-12452-54941-39354-45567-09766-62540-46508-43420</b></dt>
<dd><p>Note that case insensitivity only applies to latin1 characters - basically the upper and lower case letters of English in the lower 127 byte codes of ASCII.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-12525-60165-32842-37850-04403-38425-48242-20323</b></dt>
<dd><p>In every case the first argument is a pointer to the prepared statement that is being evaluated (the sqlite3_stmt* that was returned from sqlite3_prepare_v2() or one of its variants) and the second argument is the index of the column for which information should be returned.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-12526-56546-27211-20254-24569-61288-04911-18504</b></dt>
<dd><p>When auto-vacuum is disabled and data is deleted data from a database, the database file remains the same size.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-12556-35327-19465-37938-14363-50325-55527-10605</b></dt>
<dd><p>The rollback hook is invoked on a rollback that results from a commit hook returning non-zero, just as it would be with any other rollback.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-12572-62501-53672-53219-61722-28742-24509-13424</b></dt>
<dd><p>If the default value of the column is a constant NULL, text, blob or signed-number value, then that value is used directly in the new row.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-12598-40983-37822-03408-00608-51890-59841-03948</b></dt>
<dd><p>The values returned by sqlite3_column_bytes() and sqlite3_column_bytes16() do not include the zero terminators at the end of the string.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-12619-24112-49797-05907-40465-10736-26377-62710</b></dt>
<dd><p>The optional conflict-clause allows the user to nominate a specific constraint conflict resolution algorithm to use during this one UPDATE command.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-12630-14897-26544-51860-33954-02416-09857-42810</b></dt>
<dd><p>Unlike regular SQLite tables which can store data in a variety of datatypes and formats, the R*Tree indices rigidly enforce these two storage types.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-12645-39772-05350-58220-21808-12776-02132-01190</b></dt>
<dd><p>Or, if a constraint definition does not include a conflict-clause or it is a CHECK constraint, the default conflict resolution algorithm is ABORT.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-12670-39947-34778-58945-43914-57818-35055-57037</b></dt>
<dd><p>Again, in this case the call to sqlite3_backup_step() can be retried later on.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-12691-50532-25744-05402-08971-51916-15594-38977</b></dt>
<dd><p>If the argument N is negative, then the number of cache pages is adjusted to use approximately N*1024 bytes of memory.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-12723-08526-08318-37597-13416-02611-20506-59607</b></dt>
<dd><p>SQLITE_LIMIT_EXPR_DEPTH The maximum depth of the parse tree on any expression.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-12782-61841-54063-57500-26369-54791-20214-34360</b></dt>
<dd><p>To mark a foreign key constraint as deferred, its declaration must include the following clause: DEFERRABLE INITIALLY DEFERRED -- A deferred foreign key constraint
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-12786-00766-63482-41386-10445-23868-47532-37384</b></dt>
<dd><p>The full amount of memory used by the schemas is reported, even if the schema memory is shared with other database connections due to shared cache mode being enabled.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-12793-43283-00395-32420-06808-58269-41877-63577</b></dt>
<dd><p>Every value in SQLite has one of five fundamental datatypes: 64-bit signed integer 64-bit IEEE floating point number string BLOB NULL
<i>(source <a href="c3ref/c_blob.html">c3ref/c_blob.html</a>)</i></p></dd>

<dt><b>R-12804-26213-16166-58523-53387-54270-64862-30854</b></dt>
<dd><p>The highest recorded value is returned in *pHighwater.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-12830-59321-61911-43156-38228-08390-44545-62549</b></dt>
<dd><p>The RELEASE command starts with the most recent addition to the transaction stack and releases savepoints backwards in time until it releases a savepoint with a matching savepoint-name.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-12881-55998-05997-62769-52407-41437-37652-18188</b></dt>
<dd><p>When query results are sorted by an ORDER BY clause, values with storage class NULL come first, followed by INTEGER and REAL values interspersed in numeric order, followed by TEXT values in collating sequence order, and finally BLOB values in memcmp() order.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-12895-64156-28673-05493-20672-24033-21713-05965</b></dt>
<dd><p>Inner joins to the left and right of the outer join might be reordered if the optimizer thinks that is advantageous but the outer joins are always evaluated in the order in which they occur.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-12918-22499-05371-58391-59731-39477-30796-49007</b></dt>
<dd><p>The database-names 'main' and 'temp' refer to the main database and the database used for temporary tables.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-12940-37052-20666-01661-57871-26003-21807-26945</b></dt>
<dd><p>SQLITE_LIMIT_LIKE_PATTERN_LENGTH The maximum length of the pattern argument to the LIKE or GLOB operators.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-12968-32296-51820-14895-48060-40271-40241-44553</b></dt>
<dd><p>N bytes of data are copied from the buffer Z into the open BLOB, starting at offset iOffset.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-12993-07777-64601-19102-35955-36137-03402-56962</b></dt>
<dd><p>When multiple implementations of the same function are available, SQLite will pick the one that involves the least amount of data conversion.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-13053-11096-22952-42489-44628-35475-18449-44243</b></dt>
<dd><p>The maximum value is the value that would be returned last in an ORDER BY on the same column.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-13057-33448-09671-56974-58075-51862-56508-46386</b></dt>
<dd><p>The number of columns in an index is limited to the value set by sqlite3_limit(SQLITE_LIMIT_COLUMN,...).
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-13091-00020-15519-35390-14824-01225-60609-32585</b></dt>
<dd><p>Note that the authorizer callback is invoked only during sqlite3_prepare() or its variants.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-13160-27901-08319-02808-35967-30729-30833-45529</b></dt>
<dd><p>A function where the encoding difference is between UTF16le and UTF16be is a closer match than a function where the encoding difference is between UTF8 and UTF16.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-13161-58512-18507-02027-33184-52817-40400-65254</b></dt>
<dd><p>The subquery and the outer query do not both have ORDER BY clauses.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-13183-30817-63475-03286-24149-37029-58658-28178</b></dt>
<dd><p>Parameters of the form "?" without a following integer have no name and are referred to as "nameless" or "anonymous parameters".
<i>(source <a href="c3ref/bind_parameter_name.html">c3ref/bind_parameter_name.html</a>)</i></p></dd>

<dt><b>R-13245-13613-20612-29669-51853-01593-36495-38547</b></dt>
<dd><p>SQLITE_BUSY means that the database engine was unable to acquire the database locks it needs to do its job.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-13264-56530-15604-47190-64669-54938-51022-12155</b></dt>
<dd><p>To find all elements of the index that are contained within the vicinity of Charlotte, North Carolina, one might do: SELECT id FROM demo_index WHERE minX>=-81.08 AND maxX=35.00 AND maxY
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-13279-06508-34532-04763-41016-09422-12015-14257</b></dt>
<dd><p>This interface returns a pointer to the next prepared statement after pStmt associated with the database connection pDb.
<i>(source <a href="c3ref/next_stmt.html">c3ref/next_stmt.html</a>)</i></p></dd>

<dt><b>R-13307-42286-48132-20191-27230-43917-16761-31093</b></dt>
<dd><p>The sqlite3_memory_used() routine returns the number of bytes of memory currently outstanding (malloced but not freed).
<i>(source <a href="c3ref/memory_highwater.html">c3ref/memory_highwater.html</a>)</i></p></dd>

<dt><b>R-13324-20915-18608-14135-49913-18477-24470-37665</b></dt>
<dd><p>When two BLOB values are compared, the result is determined using memcmp().
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-13337-13961-14137-09012-22007-31627-17736-61931</b></dt>
<dd><p>If Z is negative then the abs(Z) characters preceding the Y-th character are returned.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-13345-31830-42625-35192-25815-10226-10074-63536</b></dt>
<dd><p>The escape character followed by a percent symbol (%), underscore (_), or a second instance of the escape character itself matches a literal percent symbol, underscore, or a single escape character, respectively.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-13435-26311-61176-01189-39199-58705-21930-17615</b></dt>
<dd><p>Usually, the parent key of a foreign key constraint is the primary key of the parent table. If they are not the primary key, then the parent key columns must be collectively subject to a UNIQUE constraint or have a UNIQUE index.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-13439-14752-32196-09382-64767-42844-00603-31803</b></dt>
<dd><p>The CREATE VIEW command assigns a name to a pre-packaged SELECT statement.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-13468-48578-37622-23620-58503-26592-02387-16439</b></dt>
<dd><p>A "row change" is a change to a single row of a single table caused by an INSERT, DELETE, or UPDATE statement. Rows that are changed as side effects of REPLACE constraint resolution, rollback, ABORT processing, DROP TABLE, or by any other mechanisms do not count as direct row changes.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-13480-46087-00976-25355-37821-19976-64055-41594</b></dt>
<dd><p>The sqlite3_data_count(P) will return non-zero if previous call to sqlite3_step(P) returned SQLITE_ROW, except in the case of the PRAGMA incremental_vacuum where it always returns zero since each step of that multi-step pragma returns 0 columns of data.
<i>(source <a href="c3ref/data_count.html">c3ref/data_count.html</a>)</i></p></dd>

<dt><b>R-13547-45635-56676-46930-62295-21423-36076-50678</b></dt>
<dd><p>The default isolation level for SQLite is SERIALIZABLE.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-13561-46814-58902-48141-34775-52925-09120-28270</b></dt>
<dd><p>The sqlite3_result_text(), sqlite3_result_text16(), sqlite3_result_text16le(), and sqlite3_result_text16be() interfaces set the return value of the application-defined function to be a text string which is represented as UTF-8, UTF-16 native byte order, UTF-16 little endian, or UTF-16 big endian, respectively.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-13591-51789-59523-18205-42201-39107-10748-36836</b></dt>
<dd><p>Newer versions of SQLite use the in-header database size if it is available but fall back to the actual file size if the in-header database size is not valid.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-13595-45863-41975-17982-37007-43143-15451-31635</b></dt>
<dd><p>Note that SQLite allows the parenthesized list of scalar values on the right-hand side of an IN or NOT IN operator to be an empty list but most other SQL database database engines and the SQL92 standard require the list to contain at least one element.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/tkt-80e031a00f.test)</i></p></dd>

<dt><b>R-13748-40725-63284-41855-27070-22763-27401-30101</b></dt>
<dd><p>The current value of the requested counter is returned.
<i>(source <a href="c3ref/stmt_status.html">c3ref/stmt_status.html</a>)</i></p></dd>

<dt><b>R-13776-21310-53568-57098-48778-28371-47670-31301</b></dt>
<dd><p>The count(*) function (with no arguments) returns the total number of rows in the group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-13780-64255-26273-51731-50371-55725-29943-17957</b></dt>
<dd><p>There can only be a single busy handler for a particular database connection any any given moment. If another busy handler was defined (using sqlite3_busy_handler()) prior to calling this routine, that other busy handler is cleared.
<i>(source <a href="c3ref/busy_timeout.html">c3ref/busy_timeout.html</a>)</i></p></dd>

<dt><b>R-13793-11620-18643-36656-33877-44501-53404-27731</b></dt>
<dd><p>For clarity: the values returned by sqlite3_column_bytes() and sqlite3_column_bytes16() are the number of bytes in the string, not the number of characters.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-13825-09904-57638-18756-48748-29351-18570-35078</b></dt>
<dd><p>After a BEGIN EXCLUSIVE, no other database connection except for read_uncommitted connections will be able to read the database and no other connection without exception will be able to write the database until the transaction is complete.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-13828-46633-29829-61952-44443-27481-59263-59633</b></dt>
<dd><p>Calls to sqlite3_close() return SQLITE_OK if the sqlite3 object is successfully destroyed and all associated resources are deallocated.
<i>(source <a href="c3ref/close.html">c3ref/close.html</a>)</i></p></dd>

<dt><b>R-13846-35797-43647-43739-38644-55287-36020-16236</b></dt>
<dd><p>The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-13870-45783-04772-14716-53904-46370-14954-15973</b></dt>
<dd><p>The sqlite3_load_extension() interface attempts to load an SQLite extension library contained in the file zFile.
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-13876-13274-06329-28290-52708-34927-05709-26395</b></dt>
<dd><p>If foreign key constraints are enabled and a column with a REFERENCES clause is added, the column must have a default value of NULL.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-13877-64542-39833-15687-62784-10394-38782-49019</b></dt>
<dd><p>For an "ON UPDATE CASCADE" action, it means that the values stored in each dependent child key are modified to match the new parent key values.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-13903-46567-21188-22822-60227-64496-63410-06513</b></dt>
<dd><p>This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>)</i></p></dd>

<dt><b>R-13943-13592-05756-02149-18071-59821-47409-19193</b></dt>
<dd><p>A NULL result is considered untrue when evaluating WHEN terms.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-13958-53419-49614-06664-47934-29028-23296-04281</b></dt>
<dd><p>Supported unary prefix operators are these: - + ~ NOT
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-14014-59687-26564-37068-45971-48448-09846-38995</b></dt>
<dd><p>No affinity is applied to comparison operands for the implicit comparisons associated with UNION, INTERSECT, or EXCEPT - the values are compared as is.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-14034-00929-27099-16044-59671-40921-25544-35067</b></dt>
<dd><p>If an error code is returned, that error will propagate back up through the SQLite code base to cause the statement that provoked the callback to report an error, though the commit will have still occurred.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-14066-27815-43543-12069-55137-11649-20472-34638</b></dt>
<dd><p>PRAGMA page_size; PRAGMA page_size = bytes; Query or set the page size of the database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-14068-49671-08903-14280-45288-40590-58798-59213</b></dt>
<dd><p>Parameters that are not assigned values using sqlite3_bind() are treated as NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-14099-28081-41654-53120-44875-00301-46355-06140</b></dt>
<dd><p>If the commit hook returns non-zero, then the COMMIT is converted into a ROLLBACK.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-14168-07579-40145-07578-27946-11279-56601-46509</b></dt>
<dd><p>If there is no ELSE expression and none of the WHEN expressions are true, then the overall result is NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-14176-05188-04245-39693-06249-52193-26250-12502</b></dt>
<dd><p>It is possible to have the same database file attached multiple times using different names, and detaching one connection to a file will leave the others intact.
<i>(source <a href="lang_detach.html">lang_detach.html</a>)</i></p></dd>

<dt><b>R-14184-13732-63564-17158-02009-26231-20937-39061</b></dt>
<dd><p>The SQLITE_FCNTL_FILE_POINTER value for the op parameter causes a pointer to the underlying sqlite3_file object to be written into the space pointed to by the 4th parameter.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-14195-12074-64677-06793-17072-43123-33020-17925</b></dt>
<dd><p>PRAGMA recursive_triggers; PRAGMA recursive_triggers = boolean; Query, set, or clear the recursive trigger capability.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-14208-23986-02817-62350-58798-64603-05852-18001</b></dt>
<dd><p>If foreign key constraints are enabled when it is prepared, the DROP TABLE command performs an implicit DELETE to remove all rows from the table before dropping it.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-14213-41276-38760-54552-34093-20752-64281-40652</b></dt>
<dd><p>If the function pointer is NULL, the sqlite3_log() interface becomes a no-op.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-14222-20715-36794-58646-49579-04398-47433-20385</b></dt>
<dd><p>Any attempt to create a function with a longer name will result in SQLITE_MISUSE being returned.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-14279-33686-61113-43406-50629-18616-54985-30519</b></dt>
<dd><p>Both read-only and read/write queries will cause a ROLLBACK to fail.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-14302-38934-55936-51388-09326-06316-22131-13547</b></dt>
<dd><p>The new column may take any of the forms permissible in a CREATE TABLE statement, with the following restrictions:
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-14349-34154-22313-18444-03285-54966-26711-64366</b></dt>
<dd><p>Note that the order of the rules for determining column affinity is important.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-14374-42468-63596-09513-53214-31321-61248-26314</b></dt>
<dd><p>This option sets the threading mode to Multi-thread.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-14396-37867-24413-20088-54172-40989-25899-41989</b></dt>
<dd><p>The SQLITE_FCNTL_FILE_POINTER case is a short-circuit path which does not actually invoke the underlying sqlite3_io_methods.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-14428-50133-01194-47236-05116-05687-25228-52456</b></dt>
<dd><p>The sqlite3_reset(S) interface resets the prepared statement S back to the beginning of its program.
<i>(source <a href="c3ref/reset.html">c3ref/reset.html</a>)</i></p></dd>

<dt><b>R-14442-41305-19421-12764-11199-11923-26443-20423</b></dt>
<dd><p>If the simple SELECT is a SELECT DISTINCT, then duplicate rows are removed from the set of result rows before it is returned.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-14450-37597-62750-52193-20411-23547-30776-32199</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config() with the SQLITE_CONFIG_GETMUTEX configuration option will return SQLITE_ERROR.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-14505-63184-58138-52966-27681-02252-30754-64236</b></dt>
<dd><p>An INTEGER or REAL value is less than any TEXT or BLOB value.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-14522-26183-36808-38782-13052-12335-19619-11308</b></dt>
<dd><p>The sqlite3_uint64 and sqlite_uint64 types can store integer values between 0 and +18446744073709551615 inclusive.
<i>(source <a href="c3ref/int64.html">c3ref/int64.html</a>)</i></p></dd>

<dt><b>R-14553-34013-61751-37329-34569-35054-62588-04416</b></dt>
<dd><p>the complete database schema for efficient implementation of the foreign key constraint might be: CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER REFERENCES artist ); CREATE INDEX trackindex ON track(trackartist);
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-14560-62209-22846-15269-26800-65188-24586-57276</b></dt>
<dd><p>The sqlite3_blob_bytes() interface returns the size of the BLOB in bytes.
<i>(source <a href="c3ref/blob.html">c3ref/blob.html</a>)</i></p></dd>

<dt><b>R-14672-19530-25387-57734-27624-49837-27929-41109</b></dt>
<dd><p>This is the number of rows inserted into transient indices that were created automatically in order to help joins run faster.
<i>(source <a href="c3ref/c_stmtstatus_counter.html">c3ref/c_stmtstatus_counter.html</a>)</i></p></dd>

<dt><b>R-14744-61161-64598-20723-40374-11950-32585-46634</b></dt>
<dd><p>Bindings are not cleared by the sqlite3_reset() routine.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-14785-56733-25459-22277-14451-32364-47758-09418</b></dt>
<dd><p>Extension loading must be enabled using sqlite3_enable_load_extension() prior to calling this API, otherwise an error will be returned.
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-14809-12532-29849-37931-55866-36288-34668-62105</b></dt>
<dd><p>Every column of every table has an associated collating function.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-14816-14138-45914-00386-55030-19688-47427-16370</b></dt>
<dd><p>The sqlite3_mutex_enter() and sqlite3_mutex_try() routines attempt to enter a mutex.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-14854-58090-42318-16758-11511-55845-43125-55221</b></dt>
<dd><p>The xShutdown method is only called from sqlite3_shutdown() so it does not need to be threadsafe either.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-14875-52970-09502-55318-65489-30403-63848-22858</b></dt>
<dd><p>The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-14900-25557-31284-25680-22043-43161-06380-24221</b></dt>
<dd><p>The schema-version and the user-version are big-endian 32-bit signed integers stored in the database header at offsets 40 and 60, respectively.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-14926-50129-46614-17358-58969-23562-31943-57141</b></dt>
<dd><p>For the purposes of grouping rows, NULL values are considered equal.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-14970-42377-34844-46496-15895-42662-06341-12505</b></dt>
<dd><p>If this flag is set, then the F_FULLFSYNC syncing method is used during checkpoint operations on systems that support F_FULLFSYNC.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-15060-13876-27196-24328-29262-37207-52735-33647</b></dt>
<dd><p>A 1-dimensional R*Tree thus has 3 columns.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-15063-51342-39351-23162-57397-34240-32875-44138</b></dt>
<dd><p>A zero is returned if no matching parameter is found.
<i>(source <a href="c3ref/bind_parameter_index.html">c3ref/bind_parameter_index.html</a>)</i></p></dd>

<dt><b>R-15067-52851-39310-09608-48928-40262-32010-41531</b></dt>
<dd><p>The registration remains valid until it is replaced by a different module or until the database connection closes.
<i>(source <a href="c3ref/module.html">c3ref/module.html</a>)</i></p></dd>

<dt><b>R-15078-25200-47597-45134-52626-09709-11803-57181</b></dt>
<dd><p>However, if an insert fails due to (for example) a uniqueness constraint, the ROWID of the failed insertion attempt might not be reused on subsequent inserts, resulting in gaps in the ROWID sequence.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-15111-17896-62926-21896-36187-36992-24278-56286</b></dt>
<dd><p>Numeric values (serial types 1 through 9) sort after NULLs and in numeric order.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-15142-18077-19638-26452-28411-07428-50333-27294</b></dt>
<dd><p>A new R*Tree index is created as follows: CREATE VIRTUAL TABLE <name> USING rtree(<column-names>);
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-15162-34851-63939-05950-21084-00823-32030-36120</b></dt>
<dd><p>If the 5th parameter to sqlite3_exec() is not NULL then any error message is written into memory obtained from sqlite3_malloc() and passed back through the 5th parameter.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-15172-56782-14433-51557-38019-58913-08243-11771</b></dt>
<dd><p>The returned value is one of SQLITE_INTEGER, SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB, or SQLITE_NULL.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-15181-32692-56132-34230-38418-33349-21648-47339</b></dt>
<dd><p>The last two forms change the journaling mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-15199-61389-24637-25675-62796-22180-46893-15939</b></dt>
<dd><p>There are two basic forms of the CASE expression: those with a base expression and those without.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-15264-45364-33795-29086-26475-46082-16234-09444</b></dt>
<dd><p>For the purposes of this routine, an INSERT is considered to be successful even if it is subsequently rolled back.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-15265-60561-37978-57187-32005-16281-01684-16504</b></dt>
<dd><p>The second parameter is either the name of the database (i.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-15278-54456-28013-61400-54704-22962-00645-19316</b></dt>
<dd><p>The application can can also use a PRAGMA foreign_keys statement to determine if foreign keys are currently enabled.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-15279-42727-36622-43533-51632-55419-55302-44871</b></dt>
<dd><p>Virtual tables methods can set an error message by assigning a string obtained from sqlite3_mprintf() to zErrMsg.
<i>(source <a href="c3ref/vtab.html">c3ref/vtab.html</a>)</i></p></dd>

<dt><b>R-15283-49521-12983-52199-46141-26319-45151-22196</b></dt>
<dd><p>If the table has never before contained any data, then a ROWID of 1 is used.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-15326-32258-55998-27349-46389-10665-40357-65139</b></dt>
<dd><p>When multiple database connections share the same cache, changing the secure-delete flag on one database connection changes it for them all.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-15331-08345-58118-19144-46490-41902-30698-42442</b></dt>
<dd><p>The second parameter to the logger function is a copy of the first parameter to the corresponding sqlite3_log() call and is intended to be a result code or an extended result code.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-15334-58407-28961-30248-32119-35017-40136-56612</b></dt>
<dd><p>A column that uses INTEGER affinity behaves the same as a column with NUMERIC affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-15356-65223-28934-39981-61264-10821-14188-49484</b></dt>
<dd><p>SQLite does not use the lock-byte page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-15363-55230-31292-18565-56039-36923-37219-31589</b></dt>
<dd><p>If the default value of a column is CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP, then the value used in the new row is a text representation of the current UTC date and/or time.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-15400-09401-11917-03904-29330-15741-54444-34897</b></dt>
<dd><p>A keyword enclosed in square brackets is an identifier.
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-15417-28014-30557-42534-17582-00197-65121-60035</b></dt>
<dd><p>Indices are not required for child key columns
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-15442-09728-53714-13219-50103-51559-23392-54573</b></dt>
<dd><p>Furthermore, the data_store_directory pragma always assumes that any string that this variable points to is held in memory obtained from sqlite3_malloc and the pragma may attempt to free that memory using sqlite3_free.
<i>(source <a href="c3ref/data_directory.html">c3ref/data_directory.html</a>)</i></p></dd>

<dt><b>R-15465-20813-03488-35934-00721-06683-61343-58043</b></dt>
<dd><p>The maximum and minimum embedded payload fractions and the leaf payload fraction values must be 64, 32, and 32.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-15506-57666-56346-10655-27907-33619-59147-37222</b></dt>
<dd><p>The second callback argument is one of SQLITE_INSERT, SQLITE_DELETE, or SQLITE_UPDATE, depending on the operation that caused the callback to be invoked.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-15514-65163-22430-27593-57969-12482-41561-35461</b></dt>
<dd><p>SQLite understands the following binary operators, in order from highest to lowest precedence: || * / % + - << >> & | < <= > >= = == != <> IS IS NOT IN LIKE GLOB MATCH REGEXP AND OR
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-15522-56042-47189-16162-53355-39499-48752-21999</b></dt>
<dd><p>For all of these errors, SQLite attempts to undo just the one statement it was working on and leave changes from prior statements within the same transaction intact and continue with the transaction.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-15548-18334-64551-32138-25458-60589-38835-29955</b></dt>
<dd><p>If the largest root b-tree page value is zero, then the database must not contain ptrmap pages.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-15554-05778-32243-62840-23566-06701-05501-03594</b></dt>
<dd><p>SQLITE_STATUS_SCRATCH_USED This parameter returns the number of allocations used out of the scratch memory allocator configured using SQLITE_CONFIG_SCRATCH. The value returned is in allocations, not in bytes. Since a single thread may only have one scratch allocation outstanding at time, this parameter also reports the number of threads using scratch memory at the same time.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-15569-63625-32025-44445-56996-41662-23877-23571</b></dt>
<dd><p>If a CHECK constraint violation occurs, the REPLACE conflict resolution algorithm always works like ABORT.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>, checked-by: src/insert.c)</i></p></dd>

<dt><b>R-15572-63310-25640-21443-38928-49206-01158-44169</b></dt>
<dd><p>So just because a column is declared to contain a particular type does not mean that the data stored in that column is of the declared type.
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-15591-29646-42277-29522-47431-15135-45139-14151</b></dt>
<dd><p>This routine returns 0 if pStmt is an SQL statement that does not return data (for example an UPDATE).
<i>(source <a href="c3ref/column_count.html">c3ref/column_count.html</a>)</i></p></dd>

<dt><b>R-15607-52988-55821-17631-36260-55856-06121-21546</b></dt>
<dd><p>The added rows contain NULL values in the columns that would normally contain values copied from the right-hand input dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-15618-12639-40629-36536-35814-47765-39575-62705</b></dt>
<dd><p>If it is NULL, then all attached databases are searched for the table using the same algorithm used by the database engine to resolve unqualified table references.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-15620-41309-18590-43642-05731-59843-28363-36322</b></dt>
<dd><p>In this case the call to sqlite3_backup_step() can be retried later.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-15629-60483-22088-30931-50587-36197-35177-56236</b></dt>
<dd><p>If the locking mode is EXCLUSIVE when first entering WAL journal mode, then the locking mode cannot be changed to NORMAL until after exiting WAL journal mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-15639-02023-25709-58492-36578-59679-54928-11837</b></dt>
<dd><p>If no database-name is specified and there exists both a table or index and a collation sequence of the specified name, SQLite interprets this as a request to rebuild the indices that use the named collation sequence.
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-15639-28392-58947-52268-32213-59891-41102-62114</b></dt>
<dd><p>If a database name is specified, then only the named database is searched for the named object.
<i>(source <a href="lang_naming.html">lang_naming.html</a>, checked-by: tcl/e_resolve.test)</i></p></dd>

<dt><b>R-15704-22093-19659-04811-31747-18777-12777-21799</b></dt>
<dd><p>If it is set to "ASC" (the default), then the data structures are optimized for returning results in ascending order by docid.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-15707-53749-16663-50259-17040-65136-59107-02793</b></dt>
<dd><p>The LIKE optimization will only be attempted if the right-hand side of the GLOB or LIKE operator is either literal string or a parameter that has been bound to a string literal.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-15737-42560-39966-60421-02348-13704-23907-48839</b></dt>
<dd><p>Keyword arguments can optionally appear in quotes.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-15741-50893-04622-59701-05174-07929-61978-12539</b></dt>
<dd><p>The child key index does not have to be (and usually will not be) a UNIQUE index.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-15796-47513-29721-16055-11683-21050-32207-60873</b></dt>
<dd><p>When comparing text values, the collating sequence associated with the parent key column is always used.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-15800-25719-02234-49112-58438-56406-07161-16214</b></dt>
<dd><p>If index-name does not exist or cannot be used for the query, then the preparation of the SQL statement fails.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-15807-22461-03820-63759-43480-30184-16184-55723</b></dt>
<dd><p>The SQLITE_TRANSIENT value means that the content will likely change in the near future and that SQLite should make its own private copy of the content before returning.
<i>(source <a href="c3ref/c_static.html">c3ref/c_static.html</a>)</i></p></dd>

<dt><b>R-15818-17128-00123-39161-32371-64598-56479-09338</b></dt>
<dd><p>The first parameter is a prepared statement. If this statement is a SELECT statement and the Nth column of the returned result set of that SELECT is a table column (not an expression or subquery) then the declared type of the table column is returned.
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-15825-58263-40535-43132-40682-17971-55847-38484</b></dt>
<dd><p>The psow query parameter overrides the powersafe overwrite property of the database file being opened.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-15842-53296-08003-60856-35696-17823-54223-09480</b></dt>
<dd><p>The WHERE clause on a query is broken up into "terms" where each term is separated from the others by an AND operator.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-15867-30493-08974-44645-42836-18647-48672-50550</b></dt>
<dd><p>The "." character is always used as the decimal point even if the locale setting specifies "," for this role - the use of "," for the decimal point would result in syntactic ambiguity.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-15888-36326-49147-46840-54698-34618-50911-39482</b></dt>
<dd><p>Similarly, the "DEFAULT VALUES" form of the INSERT statement is supported for top-level INSERT statements only and not for INSERT statements within triggers.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-15909-61171-23810-45611-13574-21954-09176-43834</b></dt>
<dd><p>In incremental mode, the separate incremental_vacuum pragma must be invoked to cause the auto-vacuum to occur.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-15958-50233-58629-08203-04879-28676-03150-11250</b></dt>
<dd><p>As you would expect, it is not possible to manipulate the database to a state that violates the foreign key constraint by deleting or updating rows in the artist table either: sqlite> -- Attempting to delete the artist record for "Frank Sinatra" fails, since sqlite> -- the track table contains a row that refer to it. sqlite> DELETE FROM artist WHERE artistname = 'Frank Sinatra'; SQL error: foreign key constraint failed sqlite> -- Delete all the records from the track table that refer to the artist sqlite> -- "Frank Sinatra". Only then is it possible to delete the artist. sqlite> DELETE FROM track WHERE trackname = 'My Way'; sqlite> DELETE FROM artist WHERE artistname = 'Frank Sinatra'; sqlite> -- Try to update the artistid of a row in the artist table while there sqlite> -- exists records in the track table that refer to it. sqlite> UPDATE artist SET artistid=4 WHERE artistname = 'Dean Martin'; SQL error: foreign key constraint failed sqlite> -- Once all the records that refer to a row in the artist table have sqlite> -- been deleted, it is possible to modify the artistid of the row. sqlite> DELETE FROM track WHERE trackname IN('That''s Amore', 'Christmas Blues'); sqlite> UPDATE artist SET artistid=4 WHERE artistname = 'Dean Martin';
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-15968-48708-39759-44208-63382-65413-21684-48201</b></dt>
<dd><p>The other allowed parameters to sqlite3_mutex_alloc() (anything other than SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) each return a pointer to a static preexisting mutex.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-15997-27576-09912-47070-23601-24983-46411-48984</b></dt>
<dd><p>PRAGMA read_uncommitted; PRAGMA read_uncommitted = boolean; Query, set, or clear READ UNCOMMITTED isolation.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-16028-39081-19377-46684-10718-53381-04734-64750</b></dt>
<dd><p>The min() aggregate function returns the minimum non-NULL value of all values in the group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-16057-55834-34183-27727-54013-42481-60412-05224</b></dt>
<dd><p>The extension can add new functions or collating sequences, but cannot modify or delete existing functions or collating sequences because those functions and/or collating sequences might be used elsewhere in the currently running SQL statement.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-16074-54196-43824-25031-17914-10655-20694-13926</b></dt>
<dd><p>If the FROM clause is omitted from a simple SELECT statement, then the input data is implicitly a single row zero columns wide
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-16085-53730-63732-38499-15956-61706-03515-37986</b></dt>
<dd><p>If the optional IF NOT EXISTS clause is present and another index with the same name already exists, then this command becomes a no-op.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-16127-35442-25332-57824-03233-02546-37060-55461</b></dt>
<dd><p>The following SQLite command-line session illustrates the effect of the foreign key constraint added to the track table: sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 1 Dean Martin 2 Frank Sinatra sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 11 That's Amore 1 12 Christmas Blues 1 13 My Way 2 sqlite> -- This fails because the value inserted into the trackartist column (3) sqlite> -- does not correspond to row in the artist table. sqlite> INSERT INTO track VALUES(14, 'Mr. Bojangles', 3); SQL error: foreign key constraint failed sqlite> -- This succeeds because a NULL is inserted into trackartist. A sqlite> -- corresponding row in the artist table is not required in this case. sqlite> INSERT INTO track VALUES(14, 'Mr. Bojangles', NULL); sqlite> -- Trying to modify the trackartist field of the record after it has sqlite> -- been inserted does not work either, since the new value of trackartist (3) sqlite> -- Still does not correspond to any row in the artist table. sqlite> UPDATE track SET trackartist = 3 WHERE trackname = 'Mr. Bojangles'; SQL error: foreign key constraint failed sqlite> -- Insert the required row into the artist table. It is then possible to sqlite> -- update the inserted row to set trackartist to 3 (since a corresponding sqlite> -- row in the artist table now exists). sqlite> INSERT INTO artist VALUES(3, 'Sammy Davis Jr.'); sqlite> UPDATE track SET trackartist = 3 WHERE trackname = 'Mr. Bojangles'; sqlite> -- Now that "Sammy Davis Jr." (artistid = 3) has been added to the database, sqlite> -- it is possible to INSERT new tracks using this artist without violating sqlite> -- the foreign key constraint: sqlite> INSERT INTO track VALUES(15, 'Boogie Woogie', 3);
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-16179-57541-27339-65229-35614-47877-55057-18753</b></dt>
<dd><p>After the error message is delivered up to the client application, the string will be automatically freed by sqlite3_free() and the zErrMsg field will be zeroed.
<i>(source <a href="c3ref/vtab.html">c3ref/vtab.html</a>)</i></p></dd>

<dt><b>R-16185-00071-09955-21762-46377-47789-41533-03861</b></dt>
<dd><p>SQLite uses a cost-based query planner that estimates the CPU and disk I/O costs of various competing query plans and chooses the plan that it thinks will be the fastest.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-16230-40037-23249-35634-11042-62086-60136-18681</b></dt>
<dd><p>The LIKE and GLOB optimizations consist of adding two virtual terms like this: column >= x AND column < y
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-16258-28553-19423-42749-37896-58880-16399-16530</b></dt>
<dd><p>If the busy callback is NULL, then SQLITE_BUSY or SQLITE_IOERR_BLOCKED is returned immediately upon encountering the lock.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-16262-20798-18081-17023-40907-44361-41056-32016</b></dt>
<dd><p>If X is a string then characters indices refer to actual UTF-8 characters.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-16263-09274-39662-25002-11330-48229-57034-52902</b></dt>
<dd><p>Whenever the xFilename parameter is NULL it will also be the case that the flags parameter will include SQLITE_OPEN_DELETEONCLOSE.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-16289-15808-59098-46795-28646-00170-42808-07295</b></dt>
<dd><p>If a numeric literal has a decimal point or an exponentiation clause, then it is a floating point literal. Otherwise is it is an integer literal.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-16315-56881-31877-40762-35289-40185-03417-40758</b></dt>
<dd><p>SQLite uses the string pointed to by the 2nd parameter of sqlite3_result_error() or sqlite3_result_error16() as the text of an error message.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-16335-41477-51529-00085-31320-00976-56017-05968</b></dt>
<dd><p>The implementation of the new function always causes an exception to be thrown.
<i>(source <a href="c3ref/overload_function.html">c3ref/overload_function.html</a>)</i></p></dd>

<dt><b>R-16414-44626-57508-12770-26365-35758-32257-17918</b></dt>
<dd><p>strftime(format, timestring, modifier, modifier, ...)
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-16465-40078-63621-42444-05703-20205-45309-57719</b></dt>
<dd><p>An error is still returned if the table cannot be created because of an existing index, even if the "IF NOT EXISTS" clause is specified.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-16527-30573-16737-00630-62330-59603-54641-29152</b></dt>
<dd><p>Each call to sqlite3_backup_step() sets two values inside the sqlite3_backup object: the number of pages still to be backed up and the total number of pages in the source database file.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-16571-11615-04832-08073-20760-06038-48883-17323</b></dt>
<dd><p>A value of 10 means the page is a leaf index b-tree page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-16584-60189-60940-01835-35282-37415-55139-16536</b></dt>
<dd><p>The LIKE operator does a pattern matching comparison.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-16618-15294-40098-25515-23421-58217-44729-28455</b></dt>
<dd><p>The xDestroy callback is not called if the sqlite3_create_collation_v2() function fails.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-16625-30785-18660-34070-49109-22249-51329-26220</b></dt>
<dd><p>CREATE TABLE t1( t TEXT, -- text affinity by rule 2 nu NUMERIC, -- numeric affinity by rule 5 i INTEGER, -- integer affinity by rule 1 r REAL, -- real affinity by rule 4 no BLOB -- no affinity by rule 3 ); -- Values stored as TEXT, INTEGER, INTEGER, REAL, TEXT. INSERT INTO t1 VALUES('500.0', '500.0', '500.0', '500.0', '500.0'); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; text|integer|integer|real|text -- Values stored as TEXT, INTEGER, INTEGER, REAL, REAL. DELETE FROM t1; INSERT INTO t1 VALUES(500.0, 500.0, 500.0, 500.0, 500.0); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; text|integer|integer|real|real -- Values stored as TEXT, INTEGER, INTEGER, REAL, INTEGER. DELETE FROM t1; INSERT INTO t1 VALUES(500, 500, 500, 500, 500); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; text|integer|integer|real|integer -- BLOBs are always stored as BLOBs regardless of column affinity. DELETE FROM t1; INSERT INTO t1 VALUES(x'0500', x'0500', x'0500', x'0500', x'0500'); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; blob|blob|blob|blob|blob -- NULLs are also unaffected by affinity DELETE FROM t1; INSERT INTO t1 VALUES(NULL,NULL,NULL,NULL,NULL); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; null|null|null|null|null
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-16667-09772-49719-31383-20699-54843-21151-14987</b></dt>
<dd><p>A table created using CREATE TABLE AS has no PRIMARY KEY and no constraints of any kind. The default value of each column is NULL. The default collation sequence for each column of the new table is BINARY.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-16677-54172-01660-13905-64102-51935-20932-64314</b></dt>
<dd><p>All spaces following the first two keywords are converted into a single space.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-16678-63672-23479-17788-13288-21597-25259-37744</b></dt>
<dd><p>If an INSERT occurs within a trigger or within a virtual table method, then this routine will return the rowid of the inserted row as long as the trigger or virtual table method is running. But once the trigger or virtual table method ends, the value returned by this routine reverts to what it was before the trigger or virtual table method began.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-16717-50504-54717-12200-54209-43488-56382-57633</b></dt>
<dd><p>Each R*Tree index is a virtual table with an odd number of columns between 3 and 11.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-16735-29088-33516-22402-46874-28284-28835-57919</b></dt>
<dd><p>When two TEXT values are compared an appropriate collating sequence is used to determine the result.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-16748-44311-29408-30496-47489-38562-34902-17551</b></dt>
<dd><p>If the specified table is actually a view, an error code is returned.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-16775-34716-48016-59856-43563-01952-64923-08515</b></dt>
<dd><p>You cannot DELETE, INSERT, or UPDATE a view.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-16824-07538-50218-17384-27705-17061-18390-01878</b></dt>
<dd><p>Support for the diagnostic functions sqlite3_compileoption_used() and sqlite3_compileoption_get() may be omitted by specifying the SQLITE_OMIT_COMPILEOPTION_DIAGS option at compile time.
<i>(source <a href="c3ref/compileoption_get.html">c3ref/compileoption_get.html</a>)</i></p></dd>

<dt><b>R-16827-00445-01454-02839-55616-25552-42712-08872</b></dt>
<dd><p>These routines should return true if the mutex in their argument is held or not held, respectively, by the calling thread.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-16876-26469-56495-43773-04643-04870-06914-01150</b></dt>
<dd><p>However, in many cases you can use an INSTEAD OF trigger on the view to accomplish the same thing.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-16960-46772-37295-51769-03234-47143-37776-03273</b></dt>
<dd><p>The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces are not used by the SQLite core.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-16984-47079-59652-11585-17814-53725-42803-65209</b></dt>
<dd><p>If the SQLITE_ENABLE_ATOMIC_WRITE option is disabled or if xDeviceCharacteristics reports no suitable atomic write page sizes, then the default page size is the larger of SQLITE_DEFAULT_PAGE_SIZE and the sector size as reported by the xSectorSize method of the sqlite3_io_methods object, but not more than SQLITE_MAX_DEFAULT_PAGE_SIZE.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-17004-26469-33978-15550-51185-63234-25288-10208</b></dt>
<dd><p>Multiple collating functions can be registered using the same name but with different eTextRep parameters and SQLite will use whichever function requires the least amount of data transformation.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-17039-33674-48721-19365-01161-03583-42602-47199</b></dt>
<dd><p>If this global variable is made to point to a string which is the name of a folder (a.k.a. directory), then all database files specified with a relative pathname and created or accessed by SQLite when using a built-in windows VFS will be assumed to be relative to that directory.
<i>(source <a href="c3ref/data_directory.html">c3ref/data_directory.html</a>)</i></p></dd>

<dt><b>R-17042-32466-08129-56782-39216-07667-22453-46462</b></dt>
<dd><p>In the current implementation, the update hook is not invoked when duplication rows are deleted because of an ON CONFLICT REPLACE clause.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-17066-08509-20793-46689-03241-48208-02822-18117</b></dt>
<dd><p>The multi-argument min() function searches its arguments from left to right for an argument that defines a collating function and uses that collating function for all string comparisons.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-17100-46000-36927-33778-08378-49986-19867-19918</b></dt>
<dd><p>The sqlite3_column_name() interface returns a pointer to a zero-terminated UTF-8 string and sqlite3_column_name16() returns a pointer to a zero-terminated UTF-16 string.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-17151-07205-10894-28299-62821-16887-02117-62221</b></dt>
<dd><p>The sort order may or may not be ignored depending on the database file format, and in particular the schema format number.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-17155-65128-55367-02909-54957-13687-23759-15796</b></dt>
<dd><p>Note that number of bytes stored on the index page is never less than M.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17170-44824-25231-14155-44143-54372-37097-06690</b></dt>
<dd><p>The eTextRep argument determines the encoding of strings passed to the collating function callback, xCallback.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-17203-10061-39568-47821-02948-38975-34395-48032</b></dt>
<dd><p>Calling sqlite3_free() with a pointer previously returned by sqlite3_malloc() or sqlite3_realloc() releases that memory so that it might be reused.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-17214-00187-14647-63723-32271-54121-20436-59365</b></dt>
<dd><p>The COLLATE clause optionally following each column name defines a collating sequence used for text entries in that column.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-17228-37124-21945-03605-09770-36410-30558-62639</b></dt>
<dd><p>If the action code is SQLITE_DELETE and the callback returns SQLITE_IGNORE then the DELETE operation proceeds but the truncate optimization is disabled and all rows are deleted individually.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-17269-58859-62979-20789-28373-02283-01402-32903</b></dt>
<dd><p>The pArg argument is passed through to the callback.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-17287-60737-33985-12645-22938-14534-06595-16406</b></dt>
<dd><p>Immediately following the wal-header are zero or more frames.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17313-07189-19129-06928-03198-35699-51824-58751</b></dt>
<dd><p>The S and M arguments passed to sqlite3_backup_init(D,N,S,M) identify the database connection and database name of the source database, respectively.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-17341-41375-54397-54408-61756-02302-26643-35471</b></dt>
<dd><p>This is the number of times that SQLite has stepped forward in a table as part of a full table scan.
<i>(source <a href="c3ref/c_stmtstatus_counter.html">c3ref/c_stmtstatus_counter.html</a>)</i></p></dd>

<dt><b>R-17379-32951-58399-57501-33498-60036-41846-10214</b></dt>
<dd><p>Any attempt to insert a duplicate entry will result in an error.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-17422-06514-52731-10932-24026-18729-00047-10893</b></dt>
<dd><p>The sqlite_master table contains one row for each table, index, view, and trigger (collectively "objects") in the database schema, except there is no entry for the sqlite_master table itself.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17458-15700-03472-60284-42134-49579-06923-34319</b></dt>
<dd><p>The sqlite3_stmt_busy(S) interface returns false if S is a NULL pointer.
<i>(source <a href="c3ref/stmt_busy.html">c3ref/stmt_busy.html</a>)</i></p></dd>

<dt><b>R-17482-00398-10630-63000-62255-53684-56492-08333</b></dt>
<dd><p>If the authority is not an empty string or "localhost", an error is returned to the caller.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-17495-17419-60080-02439-41171-12294-54829-31710</b></dt>
<dd><p>The VACUUM command may change the ROWIDs of entries in any tables that do not have an explicit INTEGER PRIMARY KEY.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-17497-43474-02755-40707-55508-06941-43855-44277</b></dt>
<dd><p>Likewise, registering a callback using sqlite3_wal_hook() disables the automatic checkpoint mechanism configured by this function.
<i>(source <a href="c3ref/wal_autocheckpoint.html">c3ref/wal_autocheckpoint.html</a>)</i></p></dd>

<dt><b>R-17503-25110-05842-17616-27745-25701-57748-55330</b></dt>
<dd><p>If the WAL contains no copies of page P that are valid and which are a commit frame or are followed by a commit frame, then page P is read from the database file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17503-44008-12544-16508-15108-35473-45615-30294</b></dt>
<dd><p>The default implementation stores all statistics in a single table named "sqlite_stat1".
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-17527-22739-13874-05126-20619-29164-21106-56855</b></dt>
<dd><p>Parameter OutputType Description 5th const char* Data type 6th const char* Name of default collation sequence 7th int True if column has a NOT NULL constraint 8th int True if column is part of the PRIMARY KEY 9th int True if column is AUTOINCREMENT
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-17537-00183-53931-12298-10408-12793-18687-03447</b></dt>
<dd><p>A similar effect occurs when the original date is February 29 of a leapyear and the modifier is &plusmn;N years where N is not a multiple of four.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-17564-54218-01993-46231-42657-60991-50837-12624</b></dt>
<dd><p>If the resetFlag is true, then the highest record value is reset after *pHighwater is written.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-17591-50446-37876-17822-10375-27592-36497-28987</b></dt>
<dd><p>Boolean values are stored as integers 0 (false) and 1 (true).
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-17596-52174-25214-41225-30917-27450-40075-28590</b></dt>
<dd><p>A particular database will use either a rollback journal or a WAL, but not both at the same time.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17615-49737-42602-31197-05538-64484-08202-17390</b></dt>
<dd><p>A negative number implies no limit.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-17628-54414-54605-31939-57279-20393-13350-52356</b></dt>
<dd><p>The next time SQLite attempts to open the database file, the presence of the rollback journal file will be detected and the journal will be automatically played back to restore the database to its state at the start of the incomplete transaction.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17644-02150-10619-56225-58542-30426-53377-14747</b></dt>
<dd><p>The sqlite3_create_module_v2() interface has a fifth parameter which is a pointer to a destructor for the pClientData.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-17644-24322-63248-40281-26514-10793-04355-46693</b></dt>
<dd><p>Notice that all other date and time functions can be expressed in terms of strftime(): FunctionEquivalent strftime() date(...) strftime('%Y-%m-%d', ...) time(...) strftime('%H:%M:%S', ...) datetime(...) strftime('%Y-%m-%d %H:%M:%S', ...) julianday(...) strftime('%J', ...)
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-17649-15849-35753-42057-40699-31210-64804-10043</b></dt>
<dd><p>If the implicit DELETE FROM <tbl> executed as part of a DROP TABLE command violates any immediate foreign key constraints, an error is returned and the table is not dropped.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-17683-59594-13579-14757-04762-40863-05270-49270</b></dt>
<dd><p>At various points during the compilation process, as logic is being created to perform various actions, the authorizer callback is invoked to see if those actions are allowed.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-17719-44813-04835-03337-09891-18871-23593-16128</b></dt>
<dd><p>An aggregate SQL function requires an implementation of xStep and xFinal and NULL pointer must be passed for xFunc.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-17719-64233-56665-24727-28694-41697-48581-47600</b></dt>
<dd><p>Each frame consists of a 24-byte frame-header followed by a page-size bytes of page data.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17746-39108-25168-47884-07203-13722-37711-19749</b></dt>
<dd><p>Pointers to the right of X refer to pages where all keys are greater than X.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-17762-10110-24222-01374-10453-56278-15219-43086</b></dt>
<dd><p>SQLITE_STATUS_PARSER_STACK This parameter records the deepest parser stack. It is only meaningful if SQLite is compiled with YYTRACKMAXSTACKDEPTH.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-17768-43126-25682-30166-03658-34000-04918-35023</b></dt>
<dd><p>The name of a result column is the value of the "AS" clause for that column, if there is an AS clause.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-17798-13675-27820-07837-10441-41691-34434-18481</b></dt>
<dd><p>The sqlite3_wal_hook() function is used to register a callback that will be invoked each time a database connection commits data to a write-ahead log (i.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-17798-50697-00916-29055-41532-21218-57202-15128</b></dt>
<dd><p>When one of the first three forms is called during trigger-program execution, the specified ON CONFLICT processing is performed (either ABORT, FAIL or ROLLBACK) and the current query terminates.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-17805-37710-17139-40895-40838-31681-06316-29590</b></dt>
<dd><p>However, SQLite will nest the loops in a different order if doing so will help it to select better indices.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-17813-59917-28416-42043-07798-63455-03406-14313</b></dt>
<dd><p>PRAGMA incremental_vacuum(N); The incremental_vacuum pragma causes up to N pages to be removed from the freelist.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-17817-46062-61072-05424-12542-62157-01447-33721</b></dt>
<dd><p>If an error occurs within sqlite3_backup_init(D,N,S,M), then NULL is returned and an error code and error message are stored in the destination database connection D.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-17842-50501-56682-60457-31874-28335-43678-55932</b></dt>
<dd><p>This option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The argument specifies alternative low-level memory allocation routines to be used in place of the memory allocation routines built into SQLite.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-17846-38304-36602-38159-60525-20130-23266-48850</b></dt>
<dd><p>If a WHEN clause is supplied, the SQL statements specified are only executed for rows for which the WHEN clause is true.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-17847-41579-08261-19893-13376-57099-17968-14055</b></dt>
<dd><p>The third parameter (nArg) is the number of arguments that the SQL function or aggregate takes.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-17862-56189-57609-35079-43777-27903-54007-03395</b></dt>
<dd><p>The SQLITE_BUSY error is converted to SQLITE_IOERR_BLOCKED when SQLite is in the middle of a large transaction where all the changes will not fit into the in-memory cache.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-17875-35549-30610-25102-42674-55489-44332-17965</b></dt>
<dd><p>As long a connection is using a shared-memory wal-index, the locking mode can be changed freely between NORMAL and EXCLUSIVE.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-17878-35294-47697-18266-55769-35956-00477-22042</b></dt>
<dd><p>However, if there are any view definitions, or statements executed by triggers that refer to the table being renamed, these are not automatically modified to use the new table name.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-17899-04554-16139-08865-17180-48146-22421-25181</b></dt>
<dd><p>Table names that begin with "sqlite_" are reserved for internal use. It is an error to attempt to create a table with a name that starts with "sqlite_".
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-17911-16445-24564-44587-44898-10566-48014-01820</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT count(*) FROM (SELECT max(b) AS x FROM t1 GROUP BY a) GROUP BY x; 1|0|0|SCAN TABLE t1 USING COVERING INDEX i2 (~1000000 rows) 0|0|0|SCAN SUBQUERY 1 (~1000000 rows) 0|0|0|USE TEMP B-TREE FOR GROUP BY
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-17926-09424-52325-52888-31926-01436-23382-42237</b></dt>
<dd><p>The statistics gathered by this scan are stored in special database tables names shows names all begin with "sqlite_stat".
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-17939-38828-17695-42161-08728-29310-38414-12197</b></dt>
<dd><p>The fifth parameter is an arbitrary pointer. The implementation of the function can gain access to this pointer using sqlite3_user_data().
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-18043-40700-22598-52813-64197-51522-53393-10304</b></dt>
<dd><p>The psow query parameter works with the default windows and unix VFSes but might be a no-op for other proprietary or non-standard VFSes.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-18080-47271-18934-43786-64824-46921-37664-58593</b></dt>
<dd><p>If there is more than one PRIMARY KEY clause in a single CREATE TABLE statement, it is an error.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-18085-46797-38544-57069-39269-06542-00638-19188</b></dt>
<dd><p>numeric arguments in parentheses that following the type name (ex: "VARCHAR(255)") are ignored
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-18160-43138-45730-29033-18368-13452-34551-31953</b></dt>
<dd><p>PRAGMA foreign_keys; PRAGMA foreign_keys = boolean; Query, set, or clear the enforcement of foreign key constraints.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-18160-48734-12487-09997-11031-61003-43897-08278</b></dt>
<dd><p>SQLITE_STATUS_MALLOC_SIZE This parameter records the largest memory allocation request handed to sqlite3_malloc() or sqlite3_realloc() (or their internal equivalents). Only the value returned in the *pHighwater parameter to sqlite3_status() is of interest. The value written into the *pCurrent parameter is undefined.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-18190-43830-34676-47582-56241-44977-21337-20567</b></dt>
<dd><p>If an error occurs and pzErrMsg is not 0, then the sqlite3_load_extension() interface shall attempt to fill *pzErrMsg with error message text stored in memory obtained from sqlite3_malloc().
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-18211-13054-31244-13496-36440-11954-62995-55070</b></dt>
<dd><p>The sqlite_master.sql is NULL for the internal indices that are automatically created by UNIQUE or PRIMARY KEY constraints.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-18219-48316-63080-50419-00617-04513-48558-33147</b></dt>
<dd><p>In other words, the values to the right of the IN operator (the "x", "y", and "z" values in this example) are considered to have no affinity, even if they happen to be column values or CAST expressions.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-18232-39104-31806-20551-06401-15021-42756-14177</b></dt>
<dd><p>The TEMP or TEMPORARY keyword is removed if it occurs after the initial CREATE keyword.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-18347-31070-03027-11066-56518-02178-55511-27886</b></dt>
<dd><p>NULL values (serial type 0) sort first.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-18401-29434-64954-06986-64183-65174-36377-46247</b></dt>
<dd><p>The ROLLBACK TO command reverts the state of the database back to what it was just after the corresponding SAVEPOINT.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-18444-13968-40811-25945-54439-20224-30854-05072</b></dt>
<dd><p>If the progress callback returns non-zero, the operation is interrupted.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-18465-63076-46355-46123-39901-27541-22994-57422</b></dt>
<dd><p>The sqlite3_data_count(P) routine also returns 0 if P is a NULL pointer.
<i>(source <a href="c3ref/data_count.html">c3ref/data_count.html</a>)</i></p></dd>

<dt><b>R-18500-08619-10931-07451-20568-56201-09385-55546</b></dt>
<dd><p>When the auto-vacuum mode is 1 or "full", the freelist pages are moved to the end of the database file and the database file is truncated to remove the freelist pages at every transaction commit.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-18544-33103-00053-07184-40428-23332-31709-31023</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT * FROM (SELECT * FROM t2 WHERE c=1), t1; 0|0|0|SEARCH TABLE t2 USING INDEX i4 (c=?) (~10 rows) 0|1|1|SCAN TABLE t1 (~1000000 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-18567-63872-28950-34991-21095-45728-61145-64681</b></dt>
<dd><p>The 4th argument to sqlite3_exec() is relayed through to the 1st argument of each callback invocation.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-18628-11938-58280-60424-32964-58816-64179-48454</b></dt>
<dd><p>If the LIMIT expression evaluates to non-negative value N and the UPDATE statement has an ORDER BY clause, then all rows that would be updated in the absence of the LIMIT clause are sorted according to the ORDER BY and the first N updated.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-18658-48735-17951-17191-40214-20850-63941-45114</b></dt>
<dd><p>The third parameter passed to the logger is log message after formatting via sqlite3_snprintf().
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-18665-26680-08407-38690-15882-41528-44716-07525</b></dt>
<dd><p>The in-header database size is only considered to be valid if it is non-zero and if the 4-byte change counter at offset 24 exactly matches the 4-byte version-valid-for number at offset 92.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-18669-12610-19021-20460-56494-30622-24671-33359</b></dt>
<dd><p>A successful call to sqlite3_backup_init() returns a pointer to an sqlite3_backup object.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-18684-41029-50457-11697-46944-61670-11271-59779</b></dt>
<dd><p>When no rows match an aggregate query, the xStep() callback of the aggregate function implementation is never called and xFinal() is called exactly once. In those cases, sqlite3_aggregate_context() might be called for the first time from within xFinal().
<i>(source <a href="c3ref/aggregate_context.html">c3ref/aggregate_context.html</a>)</i></p></dd>

<dt><b>R-18692-17694-63404-11739-00590-02418-57066-37741</b></dt>
<dd><p>If the table being renamed has triggers or indices, then these remain attached to the table after it has been renamed.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-18705-33393-57819-41139-38249-59845-61429-28312</b></dt>
<dd><p>If neither ASC or DESC are specified, rows are sorted in ascending (smaller values first) order by default.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-18711-35549-27220-03897-01638-65186-51204-23198</b></dt>
<dd><p>The ROLLBACK command without a TO clause rolls backs all transactions and leaves the transaction stack empty.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-18721-11322-01126-64339-40438-59164-27470-15171</b></dt>
<dd><p>If the SQLITE_FCNTL_PRAGMA file control returns any result code other than SQLITE_OK or SQLITE_NOTFOUND, that means that the VFS encountered an error while handling the PRAGMA and the compilation of the PRAGMA fails with an error.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-18741-16139-46901-23037-06510-07608-27753-13735</b></dt>
<dd><p>If the third parameter to sqlite3_result_error() or sqlite3_result_error16() is negative then SQLite takes as the error message all text up through the first zero character.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-18773-06579-40569-18123-18199-49078-54792-42080</b></dt>
<dd><p>SQLITE_RANGE is returned if the parameter index is out of range.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-18814-23501-09117-45657-61449-22992-54979-37312</b></dt>
<dd><p>Each time a row is inserted into the table by an INSERT statement that does not provide explicit values for all table columns the values stored in the new row are determined by their default values
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-18818-06259-05609-26467-03914-52420-50425-49000</b></dt>
<dd><p>A SAVEPOINT can be started either within or outside of a BEGIN...COMMIT.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-18846-05946-40974-48701-32199-53032-10077-35779</b></dt>
<dd><p>With synchronous OFF (0), SQLite continues without syncing as soon as it has handed data off to the operating system.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-18879-47479-26487-44670-60127-29624-08821-22011</b></dt>
<dd><p>If it is set to "DESC", then FTS4 stores its data in such a way as to optimize returning results in descending order by docid.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-18885-42713-55126-22349-03815-15805-20030-42091</b></dt>
<dd><p>A column with REAL affinity behaves like a column with NUMERIC affinity except that it forces integer values into floating point representation.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-18895-27365-20289-12607-60428-18477-59440-44133</b></dt>
<dd><p>If the "TEMP" or "TEMPORARY" keyword occurs between the "CREATE" and "TABLE" then the new table is created in the temp database.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-18913-19355-04042-04396-26693-02137-35105-64598</b></dt>
<dd><p>The fourth parameter is the number of pages currently in the write-ahead log file, including those that were just committed.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-18927-01951-35709-41382-23039-58065-29475-65248</b></dt>
<dd><p>Each column of the new row is populated with its default value, or with a NULL if no default value is specified as part of the column definition in the CREATE TABLE statement.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-18962-08090-15768-27249-44223-08875-09432-04987</b></dt>
<dd><p>Hence, a cache created with bPurgeable false will never contain any unpinned pages.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-18964-51531-38235-16261-57269-07859-04237-25462</b></dt>
<dd><p>This function causes any pending database operation to abort and return at its earliest opportunity.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-18968-56672-08189-06837-25504-50513-21713-31862</b></dt>
<dd><p>The ROWID chosen for the new row is at least one larger than the largest ROWID that has ever before existed in that same table.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-18981-44563-59556-01794-47708-02337-53296-37760</b></dt>
<dd><p>The OFF journaling mode disables the rollback journal completely.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-19003-27813-57127-49100-22413-58501-27554-18699</b></dt>
<dd><p>The SAVEPOINT with the matching name remains on the transaction stack, but all database changes that occurred after that SAVEPOINT was created are rolled back.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-19021-59629-04270-46349-53725-18119-32890-29092</b></dt>
<dd><p>SQLITE_STATUS_SCRATCH_OVERFLOW This parameter returns the number of bytes of scratch memory allocation which could not be satisfied by the SQLITE_CONFIG_SCRATCH buffer and where forced to overflow to sqlite3_malloc(). The values returned include overflows because the requested allocation was too larger (that is, because the requested allocation was larger than the "sz" parameter to SQLITE_CONFIG_SCRATCH) and because no scratch buffer slots were available.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-19047-46296-35390-06042-37580-10797-09391-38015</b></dt>
<dd><p>On windows, the first component of an absolute path is a drive specification (e.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-19069-01001-21275-64198-08959-57544-11845-18751</b></dt>
<dd><p>These routines are used to register a new virtual table module name.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-19114-56113-41752-64271-30879-46460-35912-30160</b></dt>
<dd><p>Different constraints within the same table may have different default conflict resolution algorithms.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-19139-12267-31476-22597-30278-48901-50934-33461</b></dt>
<dd><p>If sqlite3_unlock_notify() is called with a NULL pointer as its second argument, then any existing unlock-notify callback is canceled.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-19162-55388-28844-29887-54254-48882-22034-22486</b></dt>
<dd><p>The sqlite3_bind_zeroblob() routine binds a BLOB of length N that is filled with zeroes.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-19178-27645-63083-26050-05481-47319-52943-38968</b></dt>
<dd><p>Otherwise, no affinity is applied and both operands are compared as is.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-19186-55658-49729-13397-54658-17694-41016-19836</b></dt>
<dd><p>The sqlite3_result_value() interface makes a copy of the sqlite3_value so that the sqlite3_value specified in the parameter may change or be deallocated after sqlite3_result_value() returns without harm.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-19194-50107-23350-24777-39179-56094-65469-19806</b></dt>
<dd><p>If this in-header datasize size is not valid (see the next paragraph), then the database size is computed by looking at the actual size of the database file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-19245-12964-15266-21259-12378-18812-33916-24209</b></dt>
<dd><p>The DELETE journaling mode is the normal behavior.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-19334-12811-52965-43642-11320-54818-13590-65507</b></dt>
<dd><p>Each group of input dataset rows contributes a single row to the set of result rows.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-19352-60770-23949-55498-19812-32255-44652-11996</b></dt>
<dd><p>When an applicable constraint violation occurs, the ABORT resolution algorithm aborts the current SQL statement with an SQLITE_CONSTRAIT error and backs out any changes made by the current SQL statement; but changes caused by prior SQL statements within the same transaction are preserved and the transaction remains active.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-19353-43643-11289-35798-30332-46906-60350-15505</b></dt>
<dd><p>The last bullet above is illustrated by the following: CREATE TABLE parent2(a, b, PRIMARY KEY(a,b)); CREATE TABLE child8(x, y, FOREIGN KEY(x,y) REFERENCES parent2); -- Ok CREATE TABLE child9(x REFERENCES parent2); -- Error! CREATE TABLE child10(x,y,z, FOREIGN KEY(x,y,z) REFERENCES parent2); -- Error!
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-19393-22085-63206-61334-35392-55321-46849-03619</b></dt>
<dd><p>For a string value X, the length(X) function returns the number of characters (not bytes) in X prior to the first NUL character.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-19404-45868-36670-49387-53766-10214-08555-10559</b></dt>
<dd><p>When the argument X to sqlite_compileoption_used(X) is a string which is the name of a compile-time option, this routine returns true (1) or false (0) depending on whether or not that option was used during the build.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-19406-19221-39828-63725-16599-34636-45225-33176</b></dt>
<dd><p>The destructor will also be invoked if the call to sqlite3_create_module_v2() fails.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-19445-36510-42868-48881-64287-13454-25209-36891</b></dt>
<dd><p>time(timestring, modifier, modifier, ...)
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-19454-21689-24466-55871-29604-18048-60005-14723</b></dt>
<dd><p>The sqlite3_memory_highwater() routine returns the maximum value of sqlite3_memory_used() since the high-water mark was last reset.
<i>(source <a href="c3ref/memory_highwater.html">c3ref/memory_highwater.html</a>)</i></p></dd>

<dt><b>R-19480-30968-40912-48323-17771-07927-20882-34034</b></dt>
<dd><p>It can be applied to strings, numbers, blobs or NULL and it always returns a result with the same value as the operand.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-19486-35828-58507-08873-52072-46615-25523-07720</b></dt>
<dd><p>If the UPDATE statement has no ORDER BY clause, then all rows that would be updated in the absence of the LIMIT clause are assembled in an arbitrary order before applying the LIMIT and OFFSET clauses to determine which are actually updated.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-19508-26537-11706-47524-41549-27360-33937-41572</b></dt>
<dd><p>If you use the keyword CROSS in a join, then the two tables connected by that join will not be reordered.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-19509-40356-60366-52142-26522-07330-31595-37095</b></dt>
<dd><p>Instead of a separate OFFSET clause, the LIMIT clause may specify two scalar expressions separated by a comma.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-19510-48080-33563-44598-63902-10104-47985-18507</b></dt>
<dd><p>If sqlite3_open_v2() is used and the "cache" parameter is present in a URI filename, its value overrides any behaviour requested by setting SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-19515-61262-57142-56165-47391-12804-63366-22975</b></dt>
<dd><p>If there is no match, a NULL pointer is returned.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-19553-64528-24132-56992-22388-20387-05422-50188</b></dt>
<dd><p>Total() never throws an integer overflow.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-19570-53558-20410-64757-41149-53677-54257-63723</b></dt>
<dd><p>It is an error to specify a compress function without also specifying an uncompress function.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-19619-42762-44736-08897-02902-26192-57996-46412</b></dt>
<dd><p>The INDEXED BY and NOT INDEXED clauses are not allowed on UPDATE statements within triggers.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-19619-54598-52217-51985-41765-58210-14890-62978</b></dt>
<dd><p>The first argument to the busy handler is a copy of the void* pointer which is the third argument to sqlite3_busy_handler().
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-19628-13587-38733-35705-07447-40697-34819-47467</b></dt>
<dd><p>SQLite holds a write transaction open on the destination database file for the duration of the backup operation.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-19648-30943-40070-65065-35301-05411-03146-42916</b></dt>
<dd><p>This option takes three additional arguments that determine the lookaside memory allocator configuration for the database connection.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>)</i></p></dd>

<dt><b>R-19660-56479-36342-33235-14845-36400-09046-33188</b></dt>
<dd><p>The result of sum() is an integer value if all non-NULL inputs are integers.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-19672-38383-43870-63614-05691-24053-06228-32918</b></dt>
<dd><p>The BEGIN command only works if the transaction stack is empty, or in other words if there are no pending transactions.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-19673-40972-58319-61162-14300-46572-05681-35590</b></dt>
<dd><p>If executing the SELECT would return no rows at all, then the EXISTS operator evaluates to 0.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-19675-50792-48999-16201-33169-04003-56462-65180</b></dt>
<dd><p>PRAGMA index_list(table-name); This pragma returns one row for each index associated with the given table.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-19696-22724-31246-18328-34316-54250-32558-13544</b></dt>
<dd><p>If logging is enabled, the zFormat string and subsequent arguments are used with sqlite3_snprintf() to generate the final output string.
<i>(source <a href="c3ref/log.html">c3ref/log.html</a>)</i></p></dd>

<dt><b>R-19757-35036-22658-29796-35090-49616-44864-00036</b></dt>
<dd><p>The current value of the parameter is returned into *pCurrent.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-19785-02834-31233-04888-56980-35561-24739-27802</b></dt>
<dd><p>This pragma is a wrapper around the sqlite3_wal_autocheckpoint() C interface.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-19803-45884-64369-17915-53923-43638-05068-02663</b></dt>
<dd><p>If an action is not explicitly specified, it defaults to "NO ACTION".
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: src/parse.y, tcl/e_fkey.test)</i></p></dd>

<dt><b>R-19808-29370-64330-18475-42910-48751-21092-02221</b></dt>
<dd><p>The xDestroy() method is used to delete a cache allocated by xCreate().
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-19812-36779-26037-25587-55568-01966-51571-26935</b></dt>
<dd><p>If one operand is NULL and the other is not, then the IS operator evaluates to 0 (false) and the IS NOT operator is 1 (true).
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-19827-62289-58446-52993-02249-28252-12913-58361</b></dt>
<dd><p>If both virtual terms end up being used as constraints on an index, then the original BETWEEN term is omitted and the corresponding test is not performed on input rows.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-19885-09448-58561-44146-11128-00310-35686-58085</b></dt>
<dd><p>The names of internal schema objects always begin with "sqlite_" and any table, index, view, or trigger whose name begins with "sqlite_" is an internal schema object.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-19920-11576-34548-21403-56992-25102-09000-41133</b></dt>
<dd><p>However, newer versions of SQLite still avoid using the last six entries in the freelist trunk page array in order that database files created by newer versions of SQLite can be read by older versions of SQLite.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-19943-24538-24231-65109-02028-34287-34469-46541</b></dt>
<dd><p>Closing a BLOB shall cause the current transaction to commit if there are no other BLOBs, no pending prepared statements, and the database connection is in autocommit mode.
<i>(source <a href="c3ref/blob_close.html">c3ref/blob_close.html</a>)</i></p></dd>

<dt><b>R-19950-45603-61367-58731-61290-49608-29406-34267</b></dt>
<dd><p>The first column of an SQLite R*Tree must always be an integer primary key.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-19971-54976-54556-37696-16686-39038-59563-20085</b></dt>
<dd><p>Configuring "NO ACTION" means just that: when a parent key is modified or deleted from the database, no special action is taken.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-19982-00724-51550-61529-52295-40817-37605-44623</b></dt>
<dd><p>If pStmt is NULL then this interface returns a pointer to the first prepared statement associated with the database connection pDb.
<i>(source <a href="c3ref/next_stmt.html">c3ref/next_stmt.html</a>)</i></p></dd>

<dt><b>R-20149-25884-15163-16334-64710-02284-04877-02507</b></dt>
<dd><p>the following declaration does not result in "x" being an alias for the rowid: CREATE TABLE t(x INTEGER PRIMARY KEY DESC, y, z);
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-20205-17349-17235-26223-03175-26249-31726-44344</b></dt>
<dd><p>If the WHERE clause is not present, all records in the table are deleted.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-20210-23164-18665-04349-57984-05045-09964-53374</b></dt>
<dd><p>Unregister a VFS with the sqlite3_vfs_unregister() interface.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-20262-06249-08007-38401-43127-56610-34465-06889</b></dt>
<dd><p>No rollback journal is ever created and hence there is never a rollback journal to delete.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-20288-20462-40897-06475-02423-38114-51456-07200</b></dt>
<dd><p>The first form (with the "VALUES" keyword) creates a single new row in an existing table.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-20339-64003-24275-14776-38996-63966-02497-20063</b></dt>
<dd><p>Format 4 causes SQLite to respect the DESC keyword on index declarations.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-20391-43527-53623-61319-58031-07910-46932-20040</b></dt>
<dd><p>If the source database is modified during a backup operation, then the values are not updated to account for any extra pages that need to be updated or the size of the source database file changing.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-20409-33051-08329-62436-45384-49643-45094-34288</b></dt>
<dd><p>The avg() function returns the average value of all non-NULL X within a group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-20413-39093-25878-54576-60732-55561-33363-27302</b></dt>
<dd><p>The first four bytes of each overflow page are a big-endian integer which is the page number of the next page in the chain, or zero for the final page in the chain.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-20419-58047-32048-57525-49522-20687-43753-47745</b></dt>
<dd><p>When an SQL table that includes an INTEGER PRIMARY KEY column (which aliases the rowid) then that column appears in the record as a NULL value.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-20446-37715-39007-53706-23139-04675-09949-14226</b></dt>
<dd><p>If no WHEN clause is supplied, the SQL statements are executed for all rows.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-20458-17724-23008-35851-11607-14288-61601-02157</b></dt>
<dd><p>The "utc" is the opposite of "localtime". "utc" assumes that the string to its left is in the local timezone and adjusts that string to be in UTC.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-20467-43422-30485-36826-60194-40272-32740-00331</b></dt>
<dd><p>If an expression has an OFFSET clause, then the first M rows are omitted from the result set returned by the SELECT statement and the next N rows are returned, where M and N are the values that the OFFSET and LIMIT clauses evaluate to, respectively.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-20474-44465-10719-25363-46434-31101-34097-17120</b></dt>
<dd><p>Normally, the database page_size and whether or not the database supports auto_vacuum must be configured before the database file is actually created.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-20486-33667-53440-39666-65031-09323-37959-22013</b></dt>
<dd><p>The content of the sqlite_sequence table can be modified using ordinary UPDATE, INSERT, and DELETE statements.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-20501-61796-04411-55847-12265-31156-46104-30221</b></dt>
<dd><p>A value of 13 means the page is a leaf table b-tree page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-20520-54086-20387-28345-20691-46445-65238-30953</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Multi-thread threading mode and sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_MULTITHREAD configuration option.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-20533-60939-10698-49029-55085-32598-43205-37289</b></dt>
<dd><p>A single record is output for the parent (compound query) identifying the operation, and whether or not a temporary b-tree is used to implement it.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-20560-39162-53987-29912-13699-13892-53398-21192</b></dt>
<dd><p>The UNION operator works the same way as UNION ALL, except that duplicate rows are removed from the final result set.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-20590-08726-45565-50300-40304-23510-62801-34037</b></dt>
<dd><p>It is an error to specify a value for the mode parameter that is less restrictive than that specified by the flags passed in the third parameter to sqlite3_open_v2().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-20609-23860-31620-63775-42539-11534-17004-18607</b></dt>
<dd><p>The rollback journal file is always located in the same directory as the database file and has the same name as the database file but with the string "-journal" appended.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-20637-43463-07167-46903-44256-61988-15144-63319</b></dt>
<dd><p>A simple SELECT statement is an aggregate query if it contains either a GROUP BY clause or one or more aggregate functions in the result-set.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-20643-25656-58463-39709-46255-05856-32679-34239</b></dt>
<dd><p>The sqlite3_data_count(P) interface returns the number of columns in the current row of the result set of prepared statement P.
<i>(source <a href="c3ref/data_count.html">c3ref/data_count.html</a>)</i></p></dd>

<dt><b>R-20659-43267-07276-59549-15108-29047-28907-35034</b></dt>
<dd><p>In other words, if the left-hand dataset consists of Nlhs rows of Mlhs columns, and the right-hand dataset of Nrhs rows of Mrhs columns, then the cartesian product is a dataset of Nlhs.Nrhs rows, each containing Mlhs+Mrhs columns.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-20665-17792-14135-29123-51100-08894-37624-05824</b></dt>
<dd><p>The result of any binary operator is either a numeric value or NULL, except for the || concatenation operator which always evaluates to either NULL or a text value.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-20690-50594-54745-63542-12245-05150-52761-00851</b></dt>
<dd><p>The second field of the b-tree page header is the offset of the first freeblock, or zero if there are no freeblocks on the page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-20753-15510-22939-07148-44219-41406-54417-64713</b></dt>
<dd><p>The sqlite3_stmt_busy(S) interface returns true (non-zero) if the prepared statement S has been stepped at least once using sqlite3_step(S) but has not run to completion and/or has not been reset using sqlite3_reset(S).
<i>(source <a href="c3ref/stmt_busy.html">c3ref/stmt_busy.html</a>)</i></p></dd>

<dt><b>R-20764-08557-44636-37820-57025-55687-54503-45756</b></dt>
<dd><p>The <module-name> must be registered with the SQLite database connection using sqlite3_create_module() or sqlite3_create_module_v2() prior to issuing the CREATE VIRTUAL TABLE statement.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-20784-11852-57325-61888-34040-48421-29147-36386</b></dt>
<dd><p>Metadata is returned by writing to the memory locations passed as the 5th and subsequent parameters to this function.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-20790-14025-05441-59886-17616-40247-63857-04714</b></dt>
<dd><p>The sqlite3_threadsafe() function returns zero if and only if SQLite was compiled with mutexing code omitted due to the SQLITE_THREADSAFE compile-time option being set to 0.
<i>(source <a href="c3ref/threadsafe.html">c3ref/threadsafe.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-20857-32692-20795-02101-46664-36777-53557-28223</b></dt>
<dd><p>The sqlite3_int64 and sqlite_int64 types can store integer values between -9223372036854775808 and +9223372036854775807 inclusive.
<i>(source <a href="c3ref/int64.html">c3ref/int64.html</a>)</i></p></dd>

<dt><b>R-20915-35810-14572-42507-50726-14071-51730-17527</b></dt>
<dd><p>The second form of the pragma listed above is used to set a new limit in bytes for the specified database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-20944-50040-32536-32451-12201-33674-47359-21324</b></dt>
<dd><p>The default file format is set by the SQLITE_DEFAULT_FILE_FORMAT compile-time option.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-20958-54138-45241-50664-65336-36333-30654-63832</b></dt>
<dd><p>An attempt to write to an expired BLOB handle fails with an error code of SQLITE_ABORT.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-20974-45876-55609-02198-26922-65375-59673-02037</b></dt>
<dd><p>Some systems (for example, Windows 95) do not support the operation implemented by sqlite3_mutex_try(). On those systems, sqlite3_mutex_try() will always return SQLITE_BUSY. The SQLite core only ever uses sqlite3_mutex_try() as an optimization so this is acceptable behavior.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-20983-25183-16317-48719-00472-39133-57551-19276</b></dt>
<dd><p>If sqlite3_config() is called after sqlite3_initialize() and before sqlite3_shutdown() then it will return SQLITE_MISUSE.
<i>(source <a href="c3ref/config.html">c3ref/config.html</a>)</i></p></dd>

<dt><b>R-21003-54221-59589-12513-12600-39825-11085-16301</b></dt>
<dd><p>The rowid is always available as an undeclared column named ROWID, OID, or _ROWID_ as long as those names are not also used by explicitly declared columns.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-21040-07025-18543-54373-08853-16375-22367-30048</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT t1.*, t2.* FROM t2, t1 WHERE t1.a=1 AND t1.b>2; 0|0|1|SEARCH TABLE t1 USING COVERING INDEX i2 (a=? AND b>?) (~3 rows) 0|1|0|SCAN TABLE t2 (~1000000 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-21045-49823-30904-23854-46961-49739-55639-21354</b></dt>
<dd><p>This option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. This object specifies the interface to a custom page cache implementation.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-21062-30088-46553-38702-08225-06060-08730-53281</b></dt>
<dd><p>For the example above, one might create an auxiliary table as follows: CREATE TABLE demo_data( id INTEGER PRIMARY KEY, -- primary key objname TEXT, -- name of the object objtype TEXT, -- object type boundary BLOB -- detailed boundary of object );
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-21086-29159-05784-52048-16517-04809-46678-41234</b></dt>
<dd><p>The INDEXED BY phrase is an SQL extension found only in SQLite which can be used to verify that the correct indices are being used on a DELETE, SELECT, or UPDATE statement.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-21148-64834-51953-28586-58289-58298-04009-03354</b></dt>
<dd><p>The "INSERT INTO table DEFAULT VALUES" form of the INSERT statement is not supported.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-21182-58169-20146-54960-02459-65291-16580-58190</b></dt>
<dd><p>The replace(X,Y,Z) function returns a string formed by substituting string Z for every occurrence of string Y in string X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-21228-58399-13607-54712-08787-36573-11741-23051</b></dt>
<dd><p>If M is greater than zero then after M page records the journal file may be zero padded out to the next multiple of the sector size and another journal header may be inserted.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-21230-37464-43575-41237-19163-46428-41996-08800</b></dt>
<dd><p>The time string can be followed by zero or more modifiers that alter date and/or time.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-21255-50161-25810-42393-31454-28236-31767-53292</b></dt>
<dd><p>Example Typenames From TheCREATE TABLE Statement or CAST Expression Resulting Affinity Rule Used To Determine Affinity INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8 INTEGER 1 CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB TEXT 2 BLOB no datatype specified NONE 3 REAL DOUBLE DOUBLE PRECISION FLOAT REAL 4 NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME NUMERIC 5
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-21274-02227-62864-03639-07150-27166-13487-20730</b></dt>
<dd><p>The sqlite3_interrupt(D) call is in effect until all currently running SQL statements on database connection D complete.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-21289-11559-44144-51194-15224-24588-49349-52109</b></dt>
<dd><p>As with PRIMARY KEY constraints, for the purposes of UNIQUE constraints NULL values are considered distinct from all other values (including other NULLs).
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-21325-31343-27700-10954-05397-48364-24876-43339</b></dt>
<dd><p>The DESC keyword is ignored in indices for formats 1, 2, and 3.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-21339-62938-10206-60125-33641-63547-58173-02852</b></dt>
<dd><p>SQLITE_LIMIT_VDBE_OP The maximum number of instructions in a virtual machine program used to implement an SQL statement. This limit is not currently enforced, though that might be added in some future release of SQLite.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-21350-31508-15716-33997-35410-06709-60746-51564</b></dt>
<dd><p><img src="images/syntax/insert-stmt.gif"><br>
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-21426-10262-16472-16411-19241-49098-31695-43338</b></dt>
<dd><p>The path component of the URI specifies the disk file that is the SQLite database to be opened.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-21475-50824-53732-01656-08042-04621-06593-41786</b></dt>
<dd><p>If Y is omitted then the default entry point of sqlite3_extension_init is used.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-21508-14355-30725-13403-38836-44113-60272-57161</b></dt>
<dd><p>The third argument (eTextRep) must be one of the constants: SQLITE_UTF8, SQLITE_UTF16LE, SQLITE_UTF16BE, SQLITE_UTF16, or SQLITE_UTF16_ALIGNED.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-21527-28967-38710-01216-03543-44346-41120-54609</b></dt>
<dd><p>If, however, all columns that were to be fetched from the table are already available in the index itself, SQLite will use the values contained in the index and will never look up the original table row.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-21555-60916-58264-59419-46832-30971-06241-53598</b></dt>
<dd><p>No storage class conversions occur before the sort.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-21599-16038-23557-29825-04044-13537-53990-06867</b></dt>
<dd><p>In SQLite, a foreign key constraint is permanently marked as deferred or immediate when it is created.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-21743-40944-42989-54407-30660-21784-55083-06141</b></dt>
<dd><p>The sqlite3_mutex_notheld() interface should also return 1 when given a NULL pointer.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-21769-42523-56036-07125-49513-08938-03164-12762</b></dt>
<dd><p>For example, if an application defines a function "eval()" that calls sqlite3_exec(), then the following SQL statement would change the database file through side-effects: SELECT eval('DELETE FROM t1') FROM t2; But because the SELECT statement does not change the database file directly, sqlite3_stmt_readonly() would still return true.
<i>(source <a href="c3ref/stmt_readonly.html">c3ref/stmt_readonly.html</a>)</i></p></dd>

<dt><b>R-21806-43221-13311-12534-07273-62377-06740-15345</b></dt>
<dd><p>The sqlite3_initialize() routine returns SQLITE_OK on success.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-21827-30701-03148-53639-55860-16366-16292-16032</b></dt>
<dd><p>The vfs query parameter causes the database connection to be opened using the VFS called NAME.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-21829-14563-51248-28780-63073-47174-17671-25024</b></dt>
<dd><p>When casting a BLOB value to INTEGER, the value is first converted to TEXT.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-21838-11078-10665-52699-19008-16494-17869-42876</b></dt>
<dd><p>Within the body of a trigger, the sqlite3_changes() interface can be called to find the number of changes in the most recently completed INSERT, UPDATE, or DELETE statement within the body of the same trigger. However, the number returned does not include changes caused by subtriggers since those have their own context.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-21926-12440-51056-61142-44683-61094-56845-29582</b></dt>
<dd><p>A column with TEXT affinity stores all data using storage classes NULL, TEXT or BLOB.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-22005-45192-24484-04557-61957-46368-17904-26970</b></dt>
<dd><p>The first column of the result is the rank of the column within the index.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-22170-61870-30154-57457-53348-49651-07083-28271</b></dt>
<dd><p>The memory pointed to by the character pointers returned for the declaration type and collation sequence is valid only until the next call to any SQLite API function.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-22212-63356-49544-38225-38690-44409-41066-08853</b></dt>
<dd><p>Transactions can be deferred, immediate, or exclusive.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-22232-40047-05023-56174-19457-36430-27942-49450</b></dt>
<dd><p>The particular operator is stored in aConstraint[].op using one of the SQLITE_INDEX_CONSTRAINT_ values.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-22235-47006-02687-15500-56774-48140-19704-63768</b></dt>
<dd><p>Casting an INTEGER or REAL value into TEXT renders the value as if via sqlite3_snprintf() except that the resulting TEXT uses the encoding of the database connection.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-22253-05302-09833-31591-31790-52510-11766-44226</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT t1.*, t2.* FROM t1, t2 WHERE t1.a=1 AND t1.b>2; 0|0|0|SEARCH TABLE t1 USING COVERING INDEX i2 (a=? AND b>?) (~3 rows) 0|1|1|SCAN TABLE t2 (~1000000 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-22258-07508-09637-27611-33814-52193-51771-46661</b></dt>
<dd><p>The default value for integer is 100.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-22283-14179-18327-11516-19708-03741-18136-56509</b></dt>
<dd><p>Tables are removed using the DROP TABLE statement.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-22309-26004-04913-07405-19734-55428-18120-53442</b></dt>
<dd><p>The profile callback contains the original statement text and an estimate of wall-clock time of how long that statement took to run.
<i>(source <a href="c3ref/profile.html">c3ref/profile.html</a>)</i></p></dd>

<dt><b>R-22347-12719-38657-19900-45791-11174-27141-23723</b></dt>
<dd><p>When a configuration option is set, sqlite3_config() returns SQLITE_OK.
<i>(source <a href="c3ref/config.html">c3ref/config.html</a>)</i></p></dd>

<dt><b>R-22391-07186-37161-38876-45465-63159-33403-63078</b></dt>
<dd><p>Note that if one of the dynamic mutex parameters (SQLITE_MUTEX_FAST or SQLITE_MUTEX_RECURSIVE) is used then sqlite3_mutex_alloc() returns a different mutex on every call.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-22419-13532-56049-65481-64760-14965-44554-54437</b></dt>
<dd><p>BINARY Strings are compared byte by byte using the memcmp() function from the standard C library.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-22484-49535-05658-48568-12441-17149-15045-25439</b></dt>
<dd><p>Leading spaces are removed.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-22517-03298-06877-11770-25908-54043-03696-50918</b></dt>
<dd><p>The FTS4 prefix option causes FTS to index term prefixes of specified lengths in the same way that it always indexes complete terms.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-22517-09812-56179-10540-44970-47912-40768-05667</b></dt>
<dd><p>SQLITE_STATUS_PAGECACHE_SIZE This parameter records the largest memory allocation request handed to pagecache memory allocator. Only the value returned in the *pHighwater parameter to sqlite3_status() is of interest. The value written into the *pCurrent parameter is undefined.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-22528-31592-23814-33593-53187-04400-51621-15631</b></dt>
<dd><p>The following two queries are not equivalent: SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.x=tab2.y; SELECT * FROM tab1 LEFT JOIN tab2 WHERE tab1.x=tab2.y;
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-22564-11647-52151-33857-28940-09855-65445-38014</b></dt>
<dd><p>The header begins with a single varint which determines the total number of bytes in the header. The varint value is the size of the header in bytes including the size varint itself.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-22567-44039-44321-46904-30045-11816-43845-22039</b></dt>
<dd><p>The PRAGMA foreign_keys command is a no-op in this configuration.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-22628-64423-61675-18888-38519-55715-49755-10742</b></dt>
<dd><p>If the 4th parameter to the sqlite3_result_text* interfaces or sqlite3_result_blob is the special constant SQLITE_TRANSIENT then SQLite makes a copy of the result into space obtained from from sqlite3_malloc() before it returns.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-22655-13879-23181-45430-34065-63005-59196-64005</b></dt>
<dd><p>The coalesce() function returns a copy of its first non-NULL argument, or NULL if all arguments are NULL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-22662-28218-11402-23235-34288-43676-21619-60718</b></dt>
<dd><p>If there is no prefix that can be interpreted as a real number, the result of the conversion is 0.0.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-22671-22821-00746-11610-44216-38779-63984-03906</b></dt>
<dd><p>The orderByConsumed means that output from xFilter/xNext will occur in the correct order to satisfy the ORDER BY clause so that no separate sorting step is required.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-22671-54036-59271-48827-17148-12128-60554-20551</b></dt>
<dd><p>If argvIndex>0 then the right-hand side of the corresponding aConstraint[] is evaluated and becomes the argvIndex-th entry in argv.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-22710-53328-59796-08773-22880-08291-09347-39531</b></dt>
<dd><p>The third and fourth bytes of each freeblock form a big-endian integer which is the size of the freeblock in bytes, including the 4-byte header.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-22724-45533-32532-12289-36170-43581-26380-53780</b></dt>
<dd><p>if there is only a single global wildcard to the right of x, then the original LIKE or GLOB test is disabled.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-22775-56496-41539-17618-40069-32534-05343-62688</b></dt>
<dd><p>If there is an ON clause specified, then the ON expression is evaluated for each row of the cartesian product as a boolean expression. All rows for which the expression evaluates to false are excluded from the dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test, tcl/e_select2.test)</i></p></dd>

<dt><b>R-22782-22472-63620-46521-58776-65513-25083-63478</b></dt>
<dd><p>Names are zero-terminated UTF-8 strings.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-22795-48828-40923-07115-03137-30466-52786-33478</b></dt>
<dd><p>If X is a BLOB then the indices refer to bytes.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-22840-54810-39242-43935-10407-48036-06084-53520</b></dt>
<dd><p>This function may only modify the contents of the BLOB; it is not possible to increase the size of a BLOB using this API.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-22868-25880-64801-36236-02118-32586-25357-26503</b></dt>
<dd><p>The LIKE operator can be made case sensitive using the case_sensitive_like pragma.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-22874-32655-19107-54690-43718-02354-42963-28969</b></dt>
<dd><p>ORDER BY and LIMIT clauses may only occur at the end of the entire compound SELECT.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-22934-25134-31918-65183-03263-52759-06599-24509</b></dt>
<dd><p>Comments are treated as whitespace by the parser.
<i>(source <a href="lang_comment.html">lang_comment.html</a>, checked-by: src/tokenize.c)</i></p></dd>

<dt><b>R-22956-37754-14278-17642-05627-50863-58555-30245</b></dt>
<dd><p>Casting to a BLOB consists of first casting the value to TEXT in the encoding of the database connection, then interpreting the resulting byte sequence as a BLOB instead of as TEXT.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-22958-57964-21518-29993-48758-46150-56113-34417</b></dt>
<dd><p>But if an application-defined collating sequence and/or like() SQL function are provided, the LIKE optimization described here will never be taken.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-22959-32721-56002-12308-34950-52043-10662-17468</b></dt>
<dd><p>12 4 A random nonce for the checksum
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-23019-08375-23742-45203-57540-44774-03255-16704</b></dt>
<dd><p>When case_sensitive_like is enabled, case becomes significant. So, for example, 'a' LIKE 'A' is false but 'a' LIKE 'a' is still true.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-23025-34321-53440-17551-64635-00032-03474-62946</b></dt>
<dd><p>The maximum page count cannot be reduced below the current database size.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-23027-03515-05606-08970-61667-55431-59935-24913</b></dt>
<dd><p>Setting it to "shared" is equivalent to setting the SQLITE_OPEN_SHAREDCACHE bit in the flags argument passed to sqlite3_open_v2().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-23027-35758-08796-19756-16363-24577-05722-25269</b></dt>
<dd><p>The size of the blob (and hence the maximum value of N+iOffset) can be determined using the sqlite3_blob_bytes() interface.
<i>(source <a href="c3ref/blob_read.html">c3ref/blob_read.html</a>)</i></p></dd>

<dt><b>R-23038-23996-21339-41009-49120-44197-27486-19934</b></dt>
<dd><p>If a database connection is operating in exclusive locking mode or in persistent journal mode (PRAGMA journal_mode=persist) then after committing a transaction the rollback journal file may remain in the file-system.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-23075-39245-36315-44421-23373-63820-24651-07544</b></dt>
<dd><p>This modifier causes the DDDDDDDDDD to be interpreted not as a Julian day number as it normally would be, but as Unix Time - the number of seconds since 1970.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-23110-47146-52080-06643-60978-41760-17507-36913</b></dt>
<dd><p>the parser allows the use of the single keyword REPLACE as an alias for "INSERT OR REPLACE".
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-23120-24122-52717-58793-54182-36500-02638-57419</b></dt>
<dd><p>After an application receives an SQLITE_LOCKED error, it may call the sqlite3_unlock_notify() method with the blocked connection handle as the first argument to register for a callback that will be invoked when the blocking connections current transaction is concluded.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-23135-52319-30822-28391-39834-31572-46589-08794</b></dt>
<dd><p>The implementation is not required to provide versions of these routines that actually work.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-23153-04437-57288-59301-62447-22408-58278-59491</b></dt>
<dd><p>A column whose declared type is "CHARINT" will match both rules 1 and 2 but the first rule takes precedence and so the column affinity will be INTEGER.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-23155-55597-19897-49290-61770-15838-04803-37418</b></dt>
<dd><p>Otherwise, if a simple SELECT contains no aggregate functions or a GROUP BY clause, it is a non-aggregate query.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-23180-60923-05343-32377-50021-02687-34017-62191</b></dt>
<dd><p>This function returns the number of database rows that were changed or inserted or deleted by the most recently completed SQL statement on the database connection specified by the first parameter.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-23182-54295-50785-24596-08451-02370-06326-41675</b></dt>
<dd><p>The cache parameter may be set to either "shared" or "private".
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-23293-62447-32888-51584-58025-47542-61505-16122</b></dt>
<dd><p>If the OFFSET clause evaluates to a negative value, the results are the same as if it had evaluated to zero.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-23299-15149-12260-14236-54625-56854-20927-10236</b></dt>
<dd><p>The sqlite3_value_numeric_type() interface attempts to apply numeric affinity to the value. This means that an attempt is made to convert the value to an integer or floating point. If such a conversion is possible without loss of information (in other words, if the value is a string that looks like a number) then the conversion is performed. Otherwise no conversion occurs. The datatype after conversion is returned.
<i>(source <a href="c3ref/value_blob.html">c3ref/value_blob.html</a>)</i></p></dd>

<dt><b>R-23302-30956-02464-62581-38265-62787-52147-51200</b></dt>
<dd><p>If this SELECT returns any rows at all, then SQLite concludes that deleting the row from the parent table would violate the foreign key constraint and returns an error.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-23317-28194-01172-55207-26392-36264-04886-28224</b></dt>
<dd><p>The following implementations are available in the SQLite core: SQLITE_MUTEX_OS2 SQLITE_MUTEX_PTHREADS SQLITE_MUTEX_W32 SQLITE_MUTEX_NOOP
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-23317-43079-57684-22333-28404-22394-54055-23674</b></dt>
<dd><p>The rtrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the right side of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-23331-02158-03352-54918-44519-63240-29041-31988</b></dt>
<dd><p>The string "UTF-16" is interpreted as "UTF-16 encoding using native machine byte-ordering".
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-23332-64992-62836-09715-29451-35524-14907-15195</b></dt>
<dd><p>The sqlite3_stmt_readonly(X) interface returns true (non-zero) if and only if the prepared statement X makes no direct changes to the content of the database file.
<i>(source <a href="c3ref/stmt_readonly.html">c3ref/stmt_readonly.html</a>)</i></p></dd>

<dt><b>R-23336-07085-33379-01813-11813-48961-61224-20101</b></dt>
<dd><p>The new column is always appended to the end of the list of existing columns.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-23378-42536-56340-49562-54695-41894-41223-62715</b></dt>
<dd><p>The second is a copy of the database handle.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-23385-34636-24682-17782-28236-64093-44026-01327</b></dt>
<dd><p>Applications can update, delete from, insert into or drop the sqlite_stat1 table, but may not create or alter the sqlite_stat1 table.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-23441-22541-28214-38824-50125-18016-21255-42245</b></dt>
<dd><p>The COLLATE operator has a higher precedence (binds more tightly) than any prefix unary operator or any binary operator.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-23445-46109-37360-43495-15091-19372-04158-40881</b></dt>
<dd><p>This pragma causes the database connection on which it is invoked to free up as much memory as it can, by calling sqlite3_db_release_memory().
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-23452-42564-31892-16470-45278-27764-45099-08550</b></dt>
<dd><p>If the optional database name is omitted, "main" is assumed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-23458-03780-07133-16857-18321-45188-49595-32402</b></dt>
<dd><p>Virtual tables can provide alternative implementations of functions using the xFindFunction method of the virtual table module. But global versions of those functions must exist in order to be overloaded.
<i>(source <a href="c3ref/overload_function.html">c3ref/overload_function.html</a>)</i></p></dd>

<dt><b>R-23479-00031-14881-27531-19387-40447-21321-20674</b></dt>
<dd><p>Alternative collating functions for table columns can be specified in the CREATE TABLE statement using the COLLATE clause on the column definition.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-23486-28813-15662-33687-07998-38651-35612-02946</b></dt>
<dd><p>The SQLITE_ prefix is omitted from any strings returned by sqlite3_compileoption_get().
<i>(source <a href="c3ref/compileoption_get.html">c3ref/compileoption_get.html</a>)</i></p></dd>

<dt><b>R-23498-38103-14789-32362-20893-18131-57271-11278</b></dt>
<dd><p>When the REPLACE conflict resolution strategy deletes rows in order to satisfy a constraint, delete triggers fire if and only if recursive triggers are enabled.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-23566-61685-32570-49548-46504-50893-18012-49598</b></dt>
<dd><p>The sqlite3_mprintf() and sqlite3_vmprintf() routines write their results into memory obtained from sqlite3_malloc().
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-23593-12456-04896-01573-55353-57366-28643-60022</b></dt>
<dd><p>If there is more than one table specified as part of the join-source following the FROM keyword, then the contents of each named table are joined into a single dataset for the simple SELECT statement to operate on.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-23640-47263-12341-60168-43783-53275-58204-18225</b></dt>
<dd><p>The rollback journal file can be truncated to zero length
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-23648-58527-04335-61943-03061-32754-63941-35147</b></dt>
<dd><p>SQLite only understands upper/lower case for ASCII characters by default.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-23658-63678-27642-11273-33121-18173-42579-42965</b></dt>
<dd><p>The sqlite_master.name column will hold the name of the object.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-23682-59820-57074-21944-19735-61329-41044-60872</b></dt>
<dd><p>By contrast, if foreign key errors can be recognized simply by looking at the definition of the child table and without having to consult the parent table definition, then the CREATE TABLE statement for the child table fails.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-23702-41282-42393-06958-42086-21645-30380-61682</b></dt>
<dd><p>The path is optional if the authority is present.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-23774-64117-15302-61921-22939-28381-40174-39816</b></dt>
<dd><p>The destructor is also invoked if the call to sqlite3_create_function_v2() fails.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-23882-45353-30604-47614-45882-29623-34325-59956</b></dt>
<dd><p>The cell pointer array of a b-tree page immediately follows the b-tree page header.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-23914-51476-03843-05689-25158-40099-03729-02958</b></dt>
<dd><p>A literal value can also be the token "NULL".
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-23926-36668-62940-27905-35471-64417-49022-40154</b></dt>
<dd><p><img src="images/syntax/select-stmt.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-23927-54081-32743-59723-35169-61192-28393-34691</b></dt>
<dd><p>Each expression in the result-set is then evaluated once for each group of rows.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-23929-31743-58027-02127-28995-37198-56222-58306</b></dt>
<dd><p>These routines work just like the corresponding column access functions except that these routines take a single protected sqlite3_value object pointer instead of a sqlite3_stmt* pointer and an integer column number.
<i>(source <a href="c3ref/value_blob.html">c3ref/value_blob.html</a>)</i></p></dd>

<dt><b>R-23935-31469-05351-59076-27167-07827-26621-20596</b></dt>
<dd><p>If a RELEASE command releases the outermost savepoint, so that the transaction stack becomes empty, then RELEASE is the same as COMMIT.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-23979-26855-11433-13886-36819-17221-39687-26769</b></dt>
<dd><p>The abs(X) function returns the absolute value of the numeric argument X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-23980-43280-61587-10591-51567-45451-02507-40247</b></dt>
<dd><p>This interface causes the xEntryPoint() function to be invoked for each new database connection that is created.
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-23980-48859-56951-38852-38346-56715-55568-02993</b></dt>
<dd><p>There is one exception: if the foreign key column in the track table is NULL, then no corresponding entry in the artist table is required.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-23984-49501-37243-56289-03587-60124-22633-25227</b></dt>
<dd><p>PRAGMA ignore_check_constraints = boolean; This pragma enables or disables the enforcement of CHECK constraints.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-24012-23124-00988-32330-56827-30847-27101-61766</b></dt>
<dd><p>The SQLITE_MUTEX_NOOP implementation is a set of routines that does no real locking and is appropriate for use in a single-threaded application.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-24016-17929-42002-59431-23117-37264-43384-47268</b></dt>
<dd><p>C-style comments can span multiple lines.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-24023-61156-56094-16008-29634-01440-59018-40109</b></dt>
<dd><p>The mode query parameter determines if the new database is opened read-only, read-write, read-write and created if it does not exist, or that the database is a pure in-memory database that never interacts with disk, respectively.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-24089-57979-14928-03351-49983-36558-42407-47450</b></dt>
<dd><p>If a page contains no cells (which is only possible for a root page of a table that contains no rows) then the offset to the cell content area will equal the page size minus the bytes of reserved space.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-24124-56960-26974-01833-44587-40840-08627-58695</b></dt>
<dd><p>URI filename interpretation is enabled if the SQLITE_OPEN_URI flag is set in the fourth argument to sqlite3_open_v2(), or if it has been enabled globally using the SQLITE_CONFIG_URI option with the sqlite3_config() method or by the SQLITE_USE_URI compile-time option.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-24153-28352-05918-29721-55341-26989-15412-17405</b></dt>
<dd><p>Tables created using CREATE TABLE AS are initially populated with the rows of data returned by the SELECT statement.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-24157-46062-13277-37526-03999-51751-53681-32386</b></dt>
<dd><p>The 3rd argument to the sqlite3_exec() callback is an array of pointers to strings obtained as if from sqlite3_column_text(), one for each column.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-24176-11856-49416-35044-22347-11072-23258-18948</b></dt>
<dd><p>The length of the name is limited to 255 bytes in a UTF-8 representation, exclusive of the zero-terminator.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-24179-60523-60164-40067-19292-39680-45687-45747</b></dt>
<dd><p>Even if the foreign key constraint it is attached to is deferred, configuring a RESTRICT action causes SQLite to return an error immediately if a parent key with dependent child keys is deleted or modified.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-24188-24349-51458-56364-12806-43304-14352-46380</b></dt>
<dd><p>The expression attached to the optional OFFSET clause that may follow a LIMIT clause must also evaluate to an integer, or a value that can be losslessly converted to an integer.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-24196-58892-33917-41463-35643-14618-41658-51125</b></dt>
<dd><p>If no errors are found, a single row with the value "ok" is returned.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-24227-04807-65013-09510-28047-53461-17252-27305</b></dt>
<dd><p>Or, if none of the WHEN expressions evaluate to true, the result of evaluating the ELSE expression, if any.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-24309-18625-00401-07909-48413-47852-49350-61832</b></dt>
<dd><p>These special identifiers all describe the unique integer key (the rowid) associated with every row of every table.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-24334-46836-37699-41209-48952-15160-39885-36508</b></dt>
<dd><p>The SQLite core will never read or write the lock-byte page, though operating-system specific VFS implementations may choose to read or write bytes on the lock-byte page according to the needs and proclivities of the underlying system.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-24369-11919-06769-52248-04505-21926-35359-24531</b></dt>
<dd><p><img src="images/syntax/foreign-key-clause.gif"><br>
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-24401-52400-49114-60456-18821-28705-54480-01087</b></dt>
<dd><p>as will attempting to delete a row from the artist table when there exist dependent rows in the track table
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-24408-11841-16708-30331-61955-39086-27640-21297</b></dt>
<dd><p>An application can tell which course of action SQLite took by using the sqlite3_get_autocommit() C-language interface.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-24411-60193-43052-59187-49935-26782-54329-59494</b></dt>
<dd><p>The frame-header is six big-endian 32-bit unsigned integer values, as follows: WAL Frame Header Format OffsetSizeDescription 04 Page number 44 For commit records, the size of the database file in pages after the commit. For all other records, zero. 84 Salt-1 copied from the WAL header 124 Salt-2 copied from the WAL header 164 Checksum-1: Cumulative checksum up through and including this page 204 Checksum-2: Second half of the cumulative checksum.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-24420-43338-21659-30217-32361-58749-59788-18529</b></dt>
<dd><p>In formats 5 through 7, the "T" is a literal character separating the date and the time, as required by ISO-8601.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-24433-42760-21501-54800-20604-32904-26746-52498</b></dt>
<dd><p>AUTOINCREMENT guarantees that automatically chosen ROWIDs will be increasing but not that they will be sequential.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-24450-46174-44304-25763-63471-62798-12121-54973</b></dt>
<dd><p>All foreign key constraints in SQLite are handled as if MATCH SIMPLE were specified.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-24454-61742-57320-38040-08939-30630-11445-30109</b></dt>
<dd><p>The BINARY collating sequence is used for comparisons.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-24470-31136-04101-59681-51092-46521-28491-41459</b></dt>
<dd><p>This function is an SQL wrapper around the sqlite3_sourceid() C interface.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-24499-57071-23351-26477-16690-35822-52475-36418</b></dt>
<dd><p>The following example illustrates the effect of using a deferred foreign key constraint. -- Database schema. Both tables are initially empty. CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER REFERENCES artist(artistid) DEFERRABLE INITIALLY DEFERRED ); sqlite3> -- If the foreign key constraint were immediate, this INSERT would sqlite3> -- cause an error (since as there is no row in table artist with sqlite3> -- artistid=5). But as the constraint is deferred and there is an sqlite3> -- open transaction, no error occurs. sqlite3> BEGIN; sqlite3> INSERT INTO track VALUES(1, 'White Christmas', 5); sqlite3> -- The following COMMIT fails, as the database is in a state that sqlite3> -- does not satisfy the deferred foreign key constraint. The sqlite3> -- transaction remains open. sqlite3> COMMIT; SQL error: foreign key constraint failed sqlite3> -- After inserting a row into the artist table with artistid=5, the sqlite3> -- deferred foreign key constraint is satisfied. It is then possible sqlite3> -- to commit the transaction without error. sqlite3> INSERT INTO artist VALUES(5, 'Bing Crosby'); sqlite3> COMMIT;
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-24505-23230-57666-22051-56312-29400-20176-42804</b></dt>
<dd><p>A pointer to an sqlite3_context object is always first parameter to application-defined SQL functions.
<i>(source <a href="c3ref/context.html">c3ref/context.html</a>, checked-by: src/vdbe.c, src/vdbemem.c)</i></p></dd>

<dt><b>R-24519-28304-27679-62184-02249-08056-49023-13978</b></dt>
<dd><p>When the value of auto-vacuum is 2 or "incremental" then the additional information needed to do auto-vacuuming is stored in the database file but auto-vacuuming does not occur automatically at each commit as it does with auto_vacuum=full.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-24543-02373-21907-00972-51733-48834-36106-39581</b></dt>
<dd><p>If pzTail is not NULL then *pzTail is made to point to the first byte past the end of the first SQL statement in zSql.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-24596-57909-32096-12351-64612-37660-33667-09663</b></dt>
<dd><p>If there are many OR terms in the WHERE clause or if some of the indices on individual OR-clause subterms are not very selective, then SQLite might decide that it is faster to use a different query algorithm, or even a full-table scan.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-24597-58655-28641-06131-58977-21231-34227-31077</b></dt>
<dd><p>No tests are done for terms that are completely satisfied by indices.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-24625-56801-43002-50418-06223-19456-53547-53426</b></dt>
<dd><p>SQLite makes its own private copy of the content of the sqlite3_mem_methods structure before the sqlite3_config() call returns.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-24641-64445-22439-28040-38903-58400-61759-51123</b></dt>
<dd><p>Note that number of bytes stored on the leaf page is never less than M.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-24663-27339-41709-46831-61109-18753-41935-55210</b></dt>
<dd><p>SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for sqlite3_open() and sqlite3_open16().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-24676-09859-25258-06679-18327-03281-24955-00264</b></dt>
<dd><p>For example, consider the following database schema: CREATE TABLE album( albumartist TEXT, albumname TEXT, albumcover BINARY, PRIMARY KEY(albumartist, albumname) ); CREATE TABLE song( songid INTEGER, songartist TEXT, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(albumartist, albumname) ); In this system, each entry in the song table is required to map to an entry in the album table with the same combination of artist and album.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-24691-27369-29687-09464-65253-51469-13435-14358</b></dt>
<dd><p>Memory to hold the error message string is managed internally. The application does not need to worry about freeing the result. However, the error string might be overwritten or deallocated by subsequent calls to other SQLite interface functions.
<i>(source <a href="c3ref/errcode.html">c3ref/errcode.html</a>)</i></p></dd>

<dt><b>R-24728-13230-17441-17828-27985-11598-34826-53003</b></dt>
<dd><p>SQLite parses MATCH clauses (i.e. does not report a syntax error if you specify one), but does not enforce them.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-24729-59665-16183-42028-35835-26299-53445-23334</b></dt>
<dd><p>SQLite is careful to deallocate every dynamic mutex that it allocates.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-24731-45773-21654-50701-01955-60961-16210-17736</b></dt>
<dd><p>The IS and IS NOT operators work like = and != except when one or both of the operands are NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-24738-46982-10847-07410-11065-35020-61549-58241</b></dt>
<dd><p>Otherwise, it is invoked with two arguments only.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-24784-09209-65529-37322-41810-39114-37590-65280</b></dt>
<dd><p>The authority may be omitted, may be blank, or may be "localhost". Any other authority results in an error.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-24831-43693-55364-04496-15994-32297-02839-53654</b></dt>
<dd><p>But if the ANALYZE command is run in order to gather statistics, a different choice might be made if the statistics indicate that the alternative is likely to run faster.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-24843-55391-00331-31917-58094-58865-54184-39062</b></dt>
<dd><p>It is permitted to register multiple implementations of the same functions with the same name but with either differing numbers of arguments or differing preferred text encodings.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-24844-01074-31075-35616-03763-50098-34519-03364</b></dt>
<dd><p>datetime(timestring, modifier, modifier, ...)
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-24854-24731-07056-48016-36151-48843-43846-53234</b></dt>
<dd><p>If prepared statement P does not have results ready to return (via calls to the sqlite3_column_*() of interfaces) then sqlite3_data_count(P) returns 0.
<i>(source <a href="c3ref/data_count.html">c3ref/data_count.html</a>)</i></p></dd>

<dt><b>R-24874-01721-30373-30915-48096-44417-56853-33182</b></dt>
<dd><p>If sqlite3_collation_needed16() is used, the names are passed as UTF-16 in machine native byte order.
<i>(source <a href="c3ref/collation_needed.html">c3ref/collation_needed.html</a>)</i></p></dd>

<dt><b>R-24911-36108-02843-41555-24793-65003-42358-61703</b></dt>
<dd><p>The GLOB operator is always case sensitive.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-24944-26191-56678-42757-36198-23285-36207-32806</b></dt>
<dd><p>The argument to sqlite3_mutex_alloc() is one of these integer constants: SQLITE_MUTEX_FAST SQLITE_MUTEX_RECURSIVE SQLITE_MUTEX_STATIC_MASTER SQLITE_MUTEX_STATIC_MEM SQLITE_MUTEX_STATIC_MEM2 SQLITE_MUTEX_STATIC_PRNG SQLITE_MUTEX_STATIC_LRU SQLITE_MUTEX_STATIC_LRU2
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-24949-48633-12038-32784-60403-63994-11753-48428</b></dt>
<dd><p>Thus with a deferred transaction, the BEGIN statement itself does nothing to the filesystem.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-24958-23411-18929-15714-30148-06066-52554-42233</b></dt>
<dd><p>Each sub-select is assigned a distinct, non-zero "selectid" value.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-24973-48201-14782-42932-28549-08117-54672-27088</b></dt>
<dd><p>In practice, metadata is preserved between function calls for expressions that are constant at compile time. This includes literal values and parameters.
<i>(source <a href="c3ref/get_auxdata.html">c3ref/get_auxdata.html</a>)</i></p></dd>

<dt><b>R-24984-42113-54448-54138-16961-63127-18743-03855</b></dt>
<dd><p>Any callback set by a previous call to sqlite3_rollback_hook() for the same database connection is overridden.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-25008-21688-65381-07984-00031-51738-33385-29636</b></dt>
<dd><p>The size of a page is a power of two between 512 and 65536 inclusive.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-25048-46581-04940-52749-02967-51891-39439-41238</b></dt>
<dd><p>SQLite will never invoke xInit() more than once without an intervening call to xShutdown().
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-25097-55426-57642-39132-22210-42180-07356-31230</b></dt>
<dd><p>If SQLite determines that invoking the busy handler could result in a deadlock, it will go ahead and return SQLITE_BUSY or SQLITE_IOERR_BLOCKED instead of invoking the busy handler.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-25108-07802-40508-32376-19441-31217-21410-63803</b></dt>
<dd><p>However, if there are pending write operations, the COMMIT command will fail with an error code SQLITE_BUSY.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-25136-65062-60246-57323-36202-59774-22241-57010</b></dt>
<dd><p>This option is used to enable or disable the enforcement of foreign key constraints.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>)</i></p></dd>

<dt><b>R-25149-22012-48563-28153-37839-65089-07651-08185</b></dt>
<dd><p>The INSERT ... DEFAULT VALUES statement inserts a single new row into the named table.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-25198-00929-53345-49403-12861-49451-38328-38359</b></dt>
<dd><p>PRAGMA foreign_key_list(table-name); This pragma returns one row for each foreign key that references a column in the argument table.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-25343-19498-17466-42652-61214-37840-16481-55260</b></dt>
<dd><p>It is not necessary for every column of an index to appear in a WHERE clause term in order for that index to be used.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-25361-16150-63678-45550-40472-51042-22441-52100</b></dt>
<dd><p>This function is omitted from SQLite by default. It is only available if the SQLITE_SOUNDEX compile-time option is used when SQLite is built.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-25384-39337-58415-17102-37697-27977-14467-00416</b></dt>
<dd><p>There is nothing stopping the user from creating a foreign key definition that refers to a parent table that does not exist, or to parent key columns that do not exist or are not collectively bound by a PRIMARY KEY or UNIQUE constraint.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-25394-06637-63632-64734-15986-15167-14146-59945</b></dt>
<dd><p>These routine might also return NULL if a memory allocation error occurs.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-25459-18529-03655-35597-46929-35137-47473-63058</b></dt>
<dd><p>These routines return 0 if the statement is incomplete.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-25460-65232-16560-61859-43199-38232-53443-46120</b></dt>
<dd><p>The sqlite3_test_control() interface is used to read out internal state of SQLite and to inject faults into SQLite for testing purposes.
<i>(source <a href="c3ref/test_control.html">c3ref/test_control.html</a>)</i></p></dd>

<dt><b>R-25470-13199-56162-41417-58909-25088-16212-52540</b></dt>
<dd><p>The BLOB is closed unconditionally. Even if this routine returns an error code, the BLOB is still closed.
<i>(source <a href="c3ref/blob_close.html">c3ref/blob_close.html</a>)</i></p></dd>

<dt><b>R-25473-20557-44472-04975-51987-58936-13072-57785</b></dt>
<dd><p>The number of columns in a table is limited by the SQLITE_MAX_COLUMN compile-time parameter.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-25492-41572-18546-22299-27344-57797-39532-60300</b></dt>
<dd><p>If the SELECT yields no rows, then the value of the expression is NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-25508-47517-53800-52553-37426-36808-15124-36675</b></dt>
<dd><p>Because the acquisition of locks is deferred until they are needed, it is possible that another thread or process could create a separate transaction and write to the database after the BEGIN on the current thread has executed.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-25540-36848-64613-55100-38595-19137-49959-42593</b></dt>
<dd><p>So as not to open security holes in older applications that are unprepared to deal with extension loading, and as a means of disabling extension loading while evaluating user-entered SQL, the following API is provided to turn the sqlite3_load_extension() mechanism on and off.
<i>(source <a href="c3ref/enable_load_extension.html">c3ref/enable_load_extension.html</a>)</i></p></dd>

<dt><b>R-25541-17189-03104-63416-46282-42879-07481-01224</b></dt>
<dd><p>Furthermore, the temp_store_directory pragma always assumes that any string that this variable points to is held in memory obtained from sqlite3_malloc and the pragma may attempt to free that memory using sqlite3_free.
<i>(source <a href="c3ref/temp_directory.html">c3ref/temp_directory.html</a>)</i></p></dd>

<dt><b>R-25558-37487-19096-36063-17437-04044-36041-27526</b></dt>
<dd><p>If the specified view cannot be found and the IF EXISTS clause is not present, it is an error.
<i>(source <a href="lang_dropview.html">lang_dropview.html</a>, checked-by: tcl/e_dropview.test)</i></p></dd>

<dt><b>R-25583-11663-64337-14085-59741-00588-27469-12431</b></dt>
<dd><p>Compute the last day of the current month. SELECT date('now','start of month','+1 month','-1 day');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-25587-45258-04258-19279-64153-15260-17086-46262</b></dt>
<dd><p>Additional sqlite3_trace() callbacks might occur as each triggered subprogram is entered. The callbacks for triggers contain a UTF-8 SQL comment that identifies the trigger.
<i>(source <a href="c3ref/profile.html">c3ref/profile.html</a>)</i></p></dd>

<dt><b>R-25588-27181-18097-02154-44633-08776-21987-21638</b></dt>
<dd><p>The EXISTS operator always evaluates to one of the integer values 0 and 1.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-25610-13922-39970-12227-01507-27026-03886-01730</b></dt>
<dd><p>It looks for out-of-order records, missing pages, malformed records, and corrupt indices.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-25613-37547-39472-02780-29297-59051-40019-17427</b></dt>
<dd><p>Indexes are removed with the DROP INDEX command.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-25616-08788-18594-15704-08007-00569-12211-26573</b></dt>
<dd><p>A SELECT statement used as either a scalar subquery or as the right-hand operand of an IN, NOT IN or EXISTS expression may contain references to columns in the outer query.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-25616-61116-19772-20982-08386-58484-18398-18419</b></dt>
<dd><p>The database connection can be changed between full and incremental autovacuum mode at any time.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-25654-38196-54382-29664-57733-52949-37784-40820</b></dt>
<dd><p>All reads from and writes to the main database file begin at a page boundary and all writes are an integer number of pages in size.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-25698-53233-37700-31268-29379-58660-07035-56459</b></dt>
<dd><p>Thus for the example index above, if there is no WHERE clause term that constraints column c, then terms that constrain columns a and b can be used with the index but not terms that constraint columns d through z.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-25708-21270-49528-25970-15955-35686-26941-43710</b></dt>
<dd><p>A column with affinity NONE does not prefer one storage class over another and no attempt is made to coerce data from one storage class into another.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-25715-23916-47666-10232-13198-06014-52024-12189</b></dt>
<dd><p>In addition to the tables, indices, views, and triggers created by the application and/or the developer using CREATE statements SQL, the sqlite_master table may contain zero or more entries for internal schema objects that are created by SQLite for its own internal use.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-25715-37072-58552-52856-29858-64366-26989-17165</b></dt>
<dd><p>Memory allocation statistics are enabled by default unless SQLite is compiled with SQLITE_DEFAULT_MEMSTATUS=0 in which case memory allocation statistics are disabled by default.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-25726-27770-20459-03461-13607-13171-18925-23787</b></dt>
<dd><p>SQLite will invoke the destructor function (if it is not NULL) when SQLite no longer needs the pClientData pointer.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-25787-28949-24920-53948-06133-34727-56080-32939</b></dt>
<dd><p>The EXCEPT operator returns the subset of rows returned by the left SELECT that are not also returned by the right-hand SELECT.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-25815-04054-00806-27320-41776-02444-29917-59413</b></dt>
<dd><p>The "%z" formatting option works like "%s" but with the addition that after the string has been read and copied into the result, sqlite3_free() is called on the input string.
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-25824-45489-43990-02774-35332-28137-18182-24527</b></dt>
<dd><p>The D and N arguments to sqlite3_backup_init(D,N,S,M) are the database connection associated with the destination database and the database name, respectively.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-25857-01867-51039-59358-11204-13788-02264-02528</b></dt>
<dd><p>The values of these parameters (also called "host parameter names" or "SQL parameters") can be set using the sqlite3_bind_*() routines defined here.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-25883-55063-43215-03328-35797-53686-57723-04298</b></dt>
<dd><p>The expressions in the GROUP BY clause do not have to be expressions that appear in the result.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-25894-51060-18040-53125-15120-62396-36354-30863</b></dt>
<dd><p>Calling this routine with a null pointer (such as would be returned by a failed call to sqlite3_blob_open()) is a harmless no-op.
<i>(source <a href="c3ref/blob_close.html">c3ref/blob_close.html</a>)</i></p></dd>

<dt><b>R-25940-54422-48655-57585-43486-07020-37736-04270</b></dt>
<dd><p>Once created, the sqlite_sequence table exists in the sqlite_master table forever; it cannot be dropped.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-25950-00887-26391-00141-61376-60148-41906-53274</b></dt>
<dd><p>Both the WHEN clause and the trigger actions may access elements of the row being inserted, deleted or updated using references of the form "NEW.column-name" and "OLD.column-name", where column-name is the name of a column from the table that the trigger is associated with.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-25963-03527-53793-34841-03007-31919-23816-21204</b></dt>
<dd><p>The xInit() method is passed a copy of the sqlite3_pcache_methods2.pArg value.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-26000-56589-64657-09406-12178-15033-38154-19492</b></dt>
<dd><p>The xShutdown() method may be NULL.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>, checked-by: src/pcache.c)</i></p></dd>

<dt><b>R-26026-19483-46131-60322-16678-61732-18178-30249</b></dt>
<dd><p>For the purposes of the previous sentence, a column name preceded by one or more unary "+" operators is still considered a column name.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-26030-41411-57646-19570-38371-36124-26436-49384</b></dt>
<dd><p>The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-26031-07851-20661-23903-48754-42738-42414-42677</b></dt>
<dd><p>URIs are processed as UTF8 text.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-26078-30979-29806-34785-43846-23819-01793-57552</b></dt>
<dd><p>The content of these tables is not updated as the database changes so after making significant changes it might be prudent to rerun ANALYZE.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-26107-59537-62588-20498-27365-04275-00036-56452</b></dt>
<dd><p>If it is unable to promote the lock, then the in-memory cache will be left in an inconsistent state and so the error code is promoted from the relatively benign SQLITE_BUSY to the more severe SQLITE_IOERR_BLOCKED.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-26117-01852-15491-47779-25813-50210-15791-48499</b></dt>
<dd><p>In this latter case, the integer at offset 64 is true for incremental_vacuum and false for auto_vacuum.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-26121-50757-17122-03174-62750-30106-23545-12427</b></dt>
<dd><p><img src="images/syntax/single-source.gif"><br>
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-26145-35631-18411-10408-27137-14285-36971-04977</b></dt>
<dd><p>The sqlite3_errmsg() and sqlite3_errmsg16() return English-language text that describes the error, as either UTF-8 or UTF-16 respectively.
<i>(source <a href="c3ref/errcode.html">c3ref/errcode.html</a>)</i></p></dd>

<dt><b>R-26176-60647-43928-09816-19858-42177-19549-07263</b></dt>
<dd><p>An exclusive transaction causes EXCLUSIVE locks to be acquired on all databases.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-26177-52471-27779-44415-45290-32639-49511-38944</b></dt>
<dd><p>The first argument is an integer code for the specific parameter to measure.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-26223-47623-19728-21792-34687-27643-09360-29816</b></dt>
<dd><p>Like other SQL identifiers, database names are case-insensitive.
<i>(source <a href="lang_naming.html">lang_naming.html</a>, checked-by: tcl/e_resolve.test)</i></p></dd>

<dt><b>R-26226-51609-37600-59924-62338-40225-61693-64519</b></dt>
<dd><p>When the legacy_file_format pragma is issued with no argument, it returns the setting of the flag.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-26228-33773-01538-19072-29962-47655-12853-04397</b></dt>
<dd><p>The 4th argument to the sqlite3_exec() callback is an array of pointers to strings where each entry represents the name of corresponding result column as obtained from sqlite3_column_name().
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-26240-27972-41753-52481-56276-48994-27806-58856</b></dt>
<dd><p>As an example of the result table format, suppose a query result is as follows: Name | Age ----------------------- Alice | 43 Bob | 28 Cindy | 21 There are two column (M==2) and three rows (N==3). Thus the result table has 8 entries. Suppose the result table is stored in an array names azResult. Then azResult holds this content: azResult[0] = "Name"; azResult[1] = "Age"; azResult[2] = "Alice"; azResult[3] = "43"; azResult[4] = "Bob"; azResult[5] = "28"; azResult[6] = "Cindy"; azResult[7] = "21";
<i>(source <a href="c3ref/free_table.html">c3ref/free_table.html</a>)</i></p></dd>

<dt><b>R-26245-27007-61091-63162-56268-13882-14164-49256</b></dt>
<dd><p>Comments can begin anywhere whitespace can be found, including inside expressions that span multiple lines.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-26267-43414-63813-04870-32404-43287-64705-64465</b></dt>
<dd><p>In the case of an update, this is the rowid after the update takes place.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-26346-36443-14203-01237-59463-02061-43306-07214</b></dt>
<dd><p>When casting a BLOB value to a REAL, the value is first converted to TEXT.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-26377-49195-21869-49397-37126-00993-02015-27234</b></dt>
<dd><p>If the DELETE statement also has an OFFSET clause, then it is similarly evaluated and cast to an integer value. Again, it is an error if the value cannot be losslessly converted to an integer.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-26383-00685-00003-12709-20041-02640-63629-60960</b></dt>
<dd><p>Note that the journal_mode for an in-memory database is either MEMORY or OFF and can not be changed to a different value.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-26388-52100-18147-39797-05438-03656-60623-16408</b></dt>
<dd><p>The %Q option works like %q except it also adds single quotes around the outside of the total string. Additionally, if the parameter in the argument list is a NULL pointer, %Q substitutes the text "NULL" (without single quotes).
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-26406-03647-33657-03652-13422-62298-62842-50282</b></dt>
<dd><p>It is possible for the library compile-time C preprocessor symbol SQLITE_TEMP_STORE to override this pragma setting.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-26427-33659-32322-40327-33016-33915-32615-17849</b></dt>
<dd><p>Other parameters record only the highwater mark and not the current value. For these latter parameters nothing is written into *pCurrent.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-26490-64257-21643-35537-33187-49961-28588-55610</b></dt>
<dd><p>But making modifications to this table will likely perturb the AUTOINCREMENT key generation algorithm.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-26501-17306-17113-63025-42217-43181-46541-32131</b></dt>
<dd><p>If a table contains a user defined column named "rowid", "oid" or "_rowid_", then that name always refers the explicitly declared column and cannot be used to retrieve the integer rowid value.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-26505-44970-64433-10507-16326-14453-33346-35686</b></dt>
<dd><p>It is harmless, apart from the wasted memory, to make sz a little too large.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-26578-03501-48329-54809-40303-33325-20677-03881</b></dt>
<dd><p>The load_extension() function raises an exception if the extension fails to load or initialize correctly.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-26601-01119-55361-00031-26734-63731-65122-53650</b></dt>
<dd><p>Subject to rules (11), (12) and (13), they may also contain ORDER BY, LIMIT and OFFSET clauses.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-26602-05678-16907-15766-43643-13869-48465-09322</b></dt>
<dd><p>The sqlite3_blob_read() and sqlite3_blob_write() interfaces can be used to read or write small subsections of the BLOB.
<i>(source <a href="c3ref/blob.html">c3ref/blob.html</a>)</i></p></dd>

<dt><b>R-26684-40576-09126-53282-12439-40003-41887-60526</b></dt>
<dd><p>Each non-aggregate expression in the result-set is evaluated once for an arbitrarily selected row of the dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-26704-30334-42154-41889-16850-21412-27655-04243</b></dt>
<dd><p>The sqlite3_config(SQLITE_CONFIG_PCACHE2, ...) interface can register an alternative page cache implementation by passing in an instance of the sqlite3_pcache_methods2 structure.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-26801-64137-39079-48164-16524-44855-40563-04540</b></dt>
<dd><p>If the xInit() method is NULL, then the built-in default page cache is used instead of the application defined page cache.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>, checked-by: src/pcache.c)</i></p></dd>

<dt><b>R-26810-60950-31083-35442-30714-31340-57644-05934</b></dt>
<dd><p>If the authority section is present, then the path is always an absolute pathname.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-26835-10964-22323-42888-35777-38355-20607-28933</b></dt>
<dd><p>The first argument (the third parameter to sqlite3_db_config() is a pointer to a memory buffer to use for lookaside memory.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-26835-34471-30842-38170-16771-41578-05053-31515</b></dt>
<dd><p>SQL comments begin with two consecutive "-" characters (ASCII 0x2d) and extend up to and including the next newline character (ASCII 0x0a) or until the end of input, whichever comes first.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-26845-32976-14599-31607-31221-37786-17413-24156</b></dt>
<dd><p>Value "rwc" is equivalent to setting both SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-26867-15998-27811-15476-17855-30643-19823-37570</b></dt>
<dd><p>When no indices are available to aid the evaluation of a query, SQLite might create an automatic index that lasts only for the duration of a single SQL statement and use that index to help boost the query performance.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-26888-26313-07515-35775-03599-15989-59200-07369</b></dt>
<dd><p>The default setting is off, meaning that CHECK constraints are enforced by default.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-26917-59594-53851-11147-17067-15964-43582-37189</b></dt>
<dd><p>For the INSERT and UPDATE commands, the keywords "ON CONFLICT" are replaced by "OR" so that the syntax reads more naturally.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-26947-19317-61341-19233-36872-20864-34826-22893</b></dt>
<dd><p>If the statement is a COMMIT or occurs outside of an explicit transaction, then you can retry the statement.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-26959-28969-15823-07414-35392-55670-52959-52462</b></dt>
<dd><p>As of version 3.6.18, without running ANALYZE, SQLite will choose option 2.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-26972-25540-17987-13345-11118-49972-58252-62199</b></dt>
<dd><p>The sqlite3_bind_* routines return SQLITE_OK on success or an error code if anything goes wrong.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-26983-26377-28520-42834-28942-17818-52547-06980</b></dt>
<dd><p>INTEGER PRIMARY KEY columns aside, both UNIQUE and PRIMARY KEY constraints are implemented by creating an index in the database (in the same way as a "CREATE UNIQUE INDEX" statement would).
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-26993-43540-10992-37102-45404-55683-60247-30594</b></dt>
<dd><p>Passing zero or a negative value as the nFrame parameter disables automatic checkpoints entirely.
<i>(source <a href="c3ref/wal_autocheckpoint.html">c3ref/wal_autocheckpoint.html</a>)</i></p></dd>

<dt><b>R-26999-04791-16827-31249-13986-61939-06074-63605</b></dt>
<dd><p>The sqlite_sequence table is an internal table used to help implement AUTOINCREMENT.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-27002-52307-56024-23951-62365-30891-30149-50327</b></dt>
<dd><p>The DROP VIEW statement removes a view created by the CREATE VIEW statement.
<i>(source <a href="lang_dropview.html">lang_dropview.html</a>, checked-by: tcl/e_dropview.test)</i></p></dd>

<dt><b>R-27108-11003-35381-33223-00139-25935-11742-39438</b></dt>
<dd><p>The name of the database is "main" for the main database or "temp" for the TEMP database, or the name that appears after the AS keyword for databases that are added using the ATTACH SQL command.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-27192-61982-03758-21332-41239-32834-09507-36997</b></dt>
<dd><p>The third and fourth parameters to this function are the table and column name of the desired column, respectively.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-27219-49057-63143-35616-48690-21583-47587-41101</b></dt>
<dd><p>Unlike most SQL databases, SQLite does not restrict the type of data that may be inserted into a column based on the columns declared type.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-27225-53936-31757-11046-62632-10831-21921-34667</b></dt>
<dd><p>A value of 2 means the page is an interior index b-tree page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-27225-65050-43681-51658-36819-05479-30302-31523</b></dt>
<dd><p>If the value of <expr> is NULL, then the result of the CAST expression is also NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-27228-35217-15852-02871-02611-58321-58852-42304</b></dt>
<dd><p>A scalar SQL function requires an implementation of the xFunc callback only; NULL pointers must be passed as the xStep and xFinal parameters.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-27233-36134-02415-56146-29406-58738-02461-00763</b></dt>
<dd><p>The subquery is not DISTINCT or the outer query is not a join.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-27247-61893-58255-11187-04893-04830-19499-51561</b></dt>
<dd><p>If the name of the table is unique across all attached databases and the main and temp databases, then the database-name prefix is not required.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-27268-61727-54719-17614-54419-52191-54345-55782</b></dt>
<dd><p><img src="images/syntax/alter-table-stmt.gif"><br>
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-27280-34366-63015-08711-30594-32620-64348-44111</b></dt>
<dd><p>The first time the sqlite3_aggregate_context(C,N) routine is called for a particular aggregate function, SQLite allocates N of memory, zeroes out that memory, and returns a pointer to the new memory.
<i>(source <a href="c3ref/aggregate_context.html">c3ref/aggregate_context.html</a>)</i></p></dd>

<dt><b>R-27301-09658-03082-11591-62753-46064-11323-29821</b></dt>
<dd><p>Otherwise, if the ORDER BY expression is a column or an alias of an expression that is a column, then the default collation sequence for the column is used.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-27327-54431-40312-06060-63431-19500-57112-52669</b></dt>
<dd><p>The entry point is zProc.
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-27363-63308-55807-24434-61973-58824-33773-60814</b></dt>
<dd><p>If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes() routine returns the number of bytes in that BLOB or string.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-27383-10246-01655-25271-51755-59417-27078-62241</b></dt>
<dd><p>An ON UPDATE action is only taken if the values of the parent key are modified so that the new parent key values are not equal to the old.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-27453-53261-48254-05507-57640-45000-03691-00000</b></dt>
<dd><p>The key to an index b-tree is a record composed of the columns that are being indexed followed by the rowid of the table row.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-27458-04043-31882-50848-08148-11623-61104-53512</b></dt>
<dd><p>URI hexadecimal escape sequences (%HH) are supported within the path and query components of a URI.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-27464-47829-21227-15011-05261-27187-45850-15598</b></dt>
<dd><p>This option takes single argument of type int, interpreted as a boolean, which enables or disables the collection of memory allocation statistics.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-27484-01467-40660-08782-16756-57898-53117-01697</b></dt>
<dd><p>For example, CREATE TABLE parent(a PRIMARY KEY, b UNIQUE, c, d, e, f); CREATE UNIQUE INDEX i1 ON parent(c, d); CREATE INDEX i2 ON parent(e); CREATE UNIQUE INDEX i3 ON parent(f COLLATE nocase); CREATE TABLE child1(f, g REFERENCES parent(a)); -- Ok CREATE TABLE child2(h, i REFERENCES parent(b)); -- Ok CREATE TABLE child3(j, k, FOREIGN KEY(j, k) REFERENCES parent(c, d)); -- Ok CREATE TABLE child4(l, m REFERENCES parent(e)); -- Error! CREATE TABLE child5(n, o REFERENCES parent(f)); -- Error! CREATE TABLE child6(p, q, FOREIGN KEY(p, q) REFERENCES parent(b, c)); -- Error! CREATE TABLE child7(r REFERENCES parent(c)); -- Error! The foreign key constraints created as part of tables child1, child2 and child3 are all fine.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-27484-38990-39416-37657-02655-32272-61477-41469</b></dt>
<dd><p>Reads are also usually an integer number of pages in size, with the one exception that when the database is first opened, the first 100 bytes of the database file (the database file header) are read as a sub-page size unit.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-27542-21820-48287-27325-53525-05675-63695-54951</b></dt>
<dd><p>The ANALYZE command scans all indices of database where there might be a choice between two or more indices and gathers statistics on the selectiveness of those indices.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-27599-07502-21530-13120-63753-37571-15799-15475</b></dt>
<dd><p>The callback function registered by sqlite3_trace() is invoked at various times when an SQL statement is being run by sqlite3_step().
<i>(source <a href="c3ref/profile.html">c3ref/profile.html</a>)</i></p></dd>

<dt><b>R-27649-21314-13870-57957-53735-15830-08405-07126</b></dt>
<dd><p>However a left outer join is neither commutative nor associative and hence will not be reordered.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-27652-53388-13284-45406-16410-08171-15452-53884</b></dt>
<dd><p>PRAGMA default_cache_size; PRAGMA default_cache_size = Number-of-pages; This pragma queries or sets the suggested maximum number of pages of disk cache that will be allocated per open database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-27702-51733-15398-16850-47606-12840-18480-45806</b></dt>
<dd><p>New VFSes are registered with sqlite3_vfs_register().
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-27741-36039-35312-26646-43562-16753-08652-02657</b></dt>
<dd><p>The remaining seven methods defined by this structure (xMutexAlloc, xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and xMutexNotheld) implement the following interfaces (respectively): sqlite3_mutex_alloc() sqlite3_mutex_free() sqlite3_mutex_enter() sqlite3_mutex_try() sqlite3_mutex_leave() sqlite3_mutex_held() sqlite3_mutex_notheld()
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-27753-05999-58187-16156-08992-28399-17856-50930</b></dt>
<dd><p>The 5th parameter to the authorizer callback is the name of the database ("main", "temp", etc.) if applicable.
<i>(source <a href="c3ref/c_alter_table.html">c3ref/c_alter_table.html</a>)</i></p></dd>

<dt><b>R-27775-64721-40407-04494-31964-21217-54345-17508</b></dt>
<dd><p>Both of these limits can be lowered at runtime using the sqlite3_limit() C/C++ interface.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-27800-48033-09479-04735-22303-21367-59255-07249</b></dt>
<dd><p>For the index above and WHERE clause like this: ... WHERE a=5 AND b IN (1,2,3) AND d='hello' Only columns a and b of the index would be usable. The d column would not be usable because column c is not constrained and there can be no gaps in the set of columns that usable by the index.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-27806-26076-28846-24074-00653-42186-57572-51475</b></dt>
<dd><p>The handler for an SQLITE_FCNTL_PRAGMA file control can optionally make the first element of the char** argument point to a string obtained from sqlite3_mprintf() or the equivalent and that string will become the result of the pragma or the error message if the pragma fails.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-27809-56550-37281-65484-19482-39813-11020-02299</b></dt>
<dd><p>The VACUUM command works by copying the contents of the database into a temporary database file and then overwriting the original with the contents of the temporary file.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>)</i></p></dd>

<dt><b>R-27819-43026-21380-16418-25214-30821-40612-27368</b></dt>
<dd><p>The _database_ routines return the database name, the _table_ routines return the table name, and the origin_ routines return the column name.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-27847-27229-42495-29063-58716-22268-05238-18530</b></dt>
<dd><p>The first argument is the database connection object to be interrogated.
<i>(source <a href="c3ref/db_status.html">c3ref/db_status.html</a>)</i></p></dd>

<dt><b>R-27882-59129-50154-47424-02617-12665-50788-31727</b></dt>
<dd><p>The view to drop is identified by the view-name and optional database-name specified as part of the DROP VIEW statement. This reference is resolved using the standard procedure for object resolution.
<i>(source <a href="lang_dropview.html">lang_dropview.html</a>)</i></p></dd>

<dt><b>R-27896-13480-56358-14836-45881-39569-16238-21022</b></dt>
<dd><p>The sqlite3_result_null() interface sets the return value of the application-defined function to be NULL.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-27910-63456-49633-56474-25927-30250-35983-46521</b></dt>
<dd><p>If an SQL operation is very nearly finished at the time when sqlite3_interrupt() is called, then it might not have an opportunity to be interrupted and might continue to completion.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-27925-06263-58551-32265-51230-19990-38380-59040</b></dt>
<dd><p>SQLite strives to keep heap memory utilization below the soft heap limit by reducing the number of pages held in the page cache as heap memory usages approaches the limit.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-27935-58314-00156-50891-26988-61472-07043-33985</b></dt>
<dd><p>Any prior cache entry associated with newKey is guaranteed not to be pinned.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-27941-57764-10424-18721-07448-14003-34159-15666</b></dt>
<dd><p>The sqlite3_rollback_hook() interface registers a callback function to be invoked whenever a transaction is rolled back.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-27975-10951-36626-45634-17207-15426-09206-29636</b></dt>
<dd><p><img src="images/syntax/drop-trigger-stmt.gif"><br>
<i>(source <a href="lang_droptrigger.html">lang_droptrigger.html</a>, checked-by: tcl/e_droptrigger.test)</i></p></dd>

<dt><b>R-27994-60376-08852-47971-54191-53637-09431-08610</b></dt>
<dd><p>The same arbitrarily selected row is used for each non-aggregate expression.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-28051-59567-56645-15588-46628-55433-20920-32934</b></dt>
<dd><p>Other processes can continue to read from the database, however.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-28054-53927-06304-60532-01730-48719-20616-01346</b></dt>
<dd><p>The default setting is determined by the SQLITE_SECURE_DELETE compile-time option.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-28154-50356-30058-06874-19427-46158-45979-22702</b></dt>
<dd><p>The file change counter is a 4-byte big-endian integer which is incremented whenever the database file is unlocked after having been modified.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-28170-10886-01228-38547-37735-16350-02783-15797</b></dt>
<dd><p>To make an existing VFS into the default VFS, register it again with the makeDflt flag set.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-28220-46694-36270-42674-38857-47778-22952-56853</b></dt>
<dd><p>For example, if an "ON DELETE SET DEFAULT" action is configured, but there is no row in the parent table that corresponds to the default values of the child key columns, deleting a parent key while dependent child keys exist still causes a foreign key violation.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-28228-32357-57123-54703-49475-19797-57317-46170</b></dt>
<dd><p>Note that for serial types 0, 8, 9, 12, and 13, the value is zero bytes in length. If all columns are of these types then the body section of the record is empty.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-28229-64777-06590-55758-54727-64377-65259-21401</b></dt>
<dd><p>If the nByte argument is less than zero, then zSql is read up to the first zero terminator.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-28262-47447-02372-41671-47406-00862-29752-13937</b></dt>
<dd><p>If a HAVING clause is a non-aggregate expression, it is evaluated with respect to an arbitrarily selected row from the group.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-28307-32767-23693-57600-42950-25827-15696-21088</b></dt>
<dd><p>All other databases use the normal locking mode by default and are affected by this pragma.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-28308-37813-32671-42755-08562-58531-65045-64617</b></dt>
<dd><p><img src="images/syntax/compound-operator.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-28312-64704-30092-58113-01356-46939-35653-28661</b></dt>
<dd><p>However, the usable size is not allowed to be less than 480. In other words, if the page size is 512, then the reserved space size cannot exceed 32.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-28346-31823-44337-58654-12319-45607-22371-22984</b></dt>
<dd><p>A call to either function replaces the existing collation-needed callback.
<i>(source <a href="c3ref/collation_needed.html">c3ref/collation_needed.html</a>)</i></p></dd>

<dt><b>R-28351-07091-05361-50500-02238-36187-02311-00737</b></dt>
<dd><p>Note that an inner transaction might commit (using the RELEASE command) but then later have its work undone by a ROLLBACK in an outer transaction.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-28354-25769-10832-05903-55122-04051-18142-34428</b></dt>
<dd><p>If the first parameter to sqlite3_realloc() is a NULL pointer then its behavior is identical to calling sqlite3_malloc(N) where N is the second parameter to sqlite3_realloc().
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>, checked-by: src/malloc.c)</i></p></dd>

<dt><b>R-28453-47400-61335-60267-59373-07041-42359-06361</b></dt>
<dd><p>This API may be used to register a callback that SQLite will invoke when the connection currently holding the required lock relinquishes it.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-28465-35432-54989-58142-09664-10793-19950-25889</b></dt>
<dd><p>When the temp_store setting is changed, all existing temporary tables, indices, triggers, and views are immediately deleted.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-28489-56180-35816-28725-23682-13973-48787-26581</b></dt>
<dd><p><img src="images/syntax/attach-stmt.gif"><br>
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-28530-22001-17760-49127-38466-18799-32025-16275</b></dt>
<dd><p>Content is not actually committed on the disk until the outermost transaction commits.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-28545-50839-26009-50683-27316-18552-46767-09065</b></dt>
<dd><p>SQLite will only request a recursive mutex in cases where it really needs one.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-28634-61063-44778-38561-20362-05980-13176-50824</b></dt>
<dd><p>PRAGMA locking_mode; PRAGMA locking_mode = NORMAL | EXCLUSIVE
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-28659-11035-10621-07368-12698-03611-12155-24539</b></dt>
<dd><p>If the path begins with a '/' character, then it is interpreted as an absolute path.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-28676-32830-52785-15539-23546-23390-27594-39349</b></dt>
<dd><p>The xMutexInit routine is called by SQLite exactly once for each effective call to sqlite3_initialize().
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-28691-49464-13455-34259-09637-44341-17028-46530</b></dt>
<dd><p>The INDEXED BY and NOT INDEXED clauses are not allowed on DELETE statements within triggers.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-28740-04940-19074-59456-16824-11848-19165-57032</b></dt>
<dd><p>The time() function returns the time as HH:MM:SS.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-28760-53843-47957-08431-27887-29261-48374-11570</b></dt>
<dd><p>When more than two tables are joined together as part of a FROM clause, the join operations are processed in order from left to right. In other words, the FROM clause (A join-op-1 B join-op-2 C) is computed as ((A join-op-1 B) join-op-2 C).
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select2.test)</i></p></dd>

<dt><b>R-28818-00847-36702-14411-16104-05353-45723-35449</b></dt>
<dd><p>Otherwise, they return the name of the attached database, table, or column that query result column was extracted from.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-28818-63526-62393-01881-62533-13491-06138-19891</b></dt>
<dd><p>If the table to which the trigger is attached is not in the temp database, then DELETE statements within the trigger body must operate on tables within the same database as it.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-28853-08147-20510-38197-22369-16459-32849-06937</b></dt>
<dd><p>However, if the SELECT is a compound SELECT, then ORDER BY expressions that are not aliases to output columns must be exactly the same as an expression used as an output column.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-28888-42274-08103-28138-34725-55152-28406-13778</b></dt>
<dd><p>SQLITE_STATUS_SCRATCH_SIZE This parameter records the largest memory allocation request handed to scratch memory allocator. Only the value returned in the *pHighwater parameter to sqlite3_status() is of interest. The value written into the *pCurrent parameter is undefined.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-28943-18933-32887-09323-29571-50162-11911-61413</b></dt>
<dd><p>The "INDEXED BY index-name" clause specifies that the named index must be used in order to look up values on the preceding table.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-28989-00211-56037-13079-09434-49891-20969-08914</b></dt>
<dd><p>sqlite3_config() can be called as part of the implementation of an application-defined sqlite3_os_init().
<i>(source <a href="c3ref/config.html">c3ref/config.html</a>)</i></p></dd>

<dt><b>R-28995-46979-25570-20018-47836-46368-43472-22663</b></dt>
<dd><p>The sqlite3_column_type() routine returns the datatype code for the initial data type of the result column.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-29005-40549-62573-61718-07162-40054-58592-42696</b></dt>
<dd><p>FTS4 uses term prefix indexes to speed up prefix queries.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-29017-46238-05238-21536-25250-22199-46768-04510</b></dt>
<dd><p>If no metadata has been ever been set for the Nth argument of the function, or if the corresponding function parameter has changed since the meta-data was set, then sqlite3_get_auxdata() returns a NULL pointer.
<i>(source <a href="c3ref/get_auxdata.html">c3ref/get_auxdata.html</a>)</i></p></dd>

<dt><b>R-29052-00975-25766-49663-50070-52826-19346-28533</b></dt>
<dd><p>String and BLOB values that do not look like numbers are interpreted as 0.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-29082-45770-21240-41661-14924-48900-49346-30675</b></dt>
<dd><p>An attempt to read from an expired BLOB handle fails with an error code of SQLITE_ABORT.
<i>(source <a href="c3ref/blob_read.html">c3ref/blob_read.html</a>)</i></p></dd>

<dt><b>R-29113-38283-27136-26759-43534-34900-28619-25538</b></dt>
<dd><p>Queries of the following forms will be optimized to run in logarithmic time assuming appropriate indices exist: SELECT MIN(x) FROM table; SELECT MAX(x) FROM table;
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-29137-58191-04727-48044-60255-14464-15278-17646</b></dt>
<dd><p>SQLITE_STATUS_MALLOC_COUNT This parameter records the number of separate memory allocations currently checked out.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-29144-37270-15316-24457-48532-24353-08508-55125</b></dt>
<dd><p>The ROLLBACK command with a TO clause rolls back transactions going backwards in time back to the most recent SAVEPOINT with a matching name.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-29161-24939-37010-28632-36605-59202-44014-09658</b></dt>
<dd><p>This is the number of sort operations that have occurred.
<i>(source <a href="c3ref/c_stmtstatus_counter.html">c3ref/c_stmtstatus_counter.html</a>)</i></p></dd>

<dt><b>R-29198-50701-28906-62015-01619-10608-18054-51120</b></dt>
<dd><p>When the commit hook callback routine returns zero, the COMMIT operation is allowed to continue normally.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-29213-61195-54301-03299-01569-39638-01555-01215</b></dt>
<dd><p>The third and fourth arguments to the callback contain pointers to the database and table name containing the affected row.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-29217-59451-19310-28828-11376-07138-52256-15331</b></dt>
<dd><p><img src="images/syntax/sql-stmt-list.gif"><br>
<i>(source <a href="lang.html">lang.html</a>)</i></p></dd>

<dt><b>R-29263-18958-07673-24386-24101-32791-35483-64861</b></dt>
<dd><p>The default setting is synchronous=FULL.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-29276-00741-11068-20150-45137-35653-26807-40835</b></dt>
<dd><p>When the locking-mode is set to EXCLUSIVE, the database connection never releases file-locks.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-29319-62175-31242-39109-13345-46061-10840-60903</b></dt>
<dd><p>If the source database connection is being used to write to the source database when sqlite3_backup_step() is called, then SQLITE_LOCKED is returned immediately.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-29353-26294-62114-45133-33417-28665-47147-29185</b></dt>
<dd><p>PRAGMA fullfsync PRAGMA fullfsync = boolean; Query or change the fullfsync flag.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-29356-02391-20787-31753-20232-32348-21090-16703</b></dt>
<dd><p>If the database uses a 65536-byte page size and the reserved space is zero (the usual value for reserved space) then the cell content offset of an empty page wants to be 65536. However, that integer is too large to be stored in a 2-byte unsigned integer, so a value of 0 is used in its place.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-29387-20242-08784-06903-03129-29684-27650-40318</b></dt>
<dd><p>Some virtual table implementations might impose additional restrictions.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-29431-39229-16691-57532-51214-42870-42294-30038</b></dt>
<dd><p>The highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-29466-27412-45786-34057-43817-35684-25480-06167</b></dt>
<dd><p>If a given call to sqlite3_unlock_notify() would put the system in a deadlocked state, then SQLITE_LOCKED is returned and no unlock-notify callback is registered.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-29487-60664-46502-00172-20406-63443-24870-58948</b></dt>
<dd><p>If there is no explicitly declared INTEGER PRIMARY KEY column, then the output parameters are set as follows: data type: "INTEGER" collation sequence: "BINARY" not null: 0 primary key: 1 auto increment: 0
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-29497-04603-39486-29131-04048-03697-44723-21949</b></dt>
<dd><p>A subsequent call to sqlite3_result_error() or sqlite3_result_error16() resets the error code to SQLITE_ERROR.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-29512-54644-05780-17564-45452-02840-21704-61078</b></dt>
<dd><p>If the table to which the trigger is attached is in the TEMP database, then the unqualified name of the table being updated is resolved in the same way as it is for a top-level statement (by searching first the TEMP database, then the main database, then any other databases in the order they were attached).
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-29538-34987-07238-64188-64158-06889-50248-62239</b></dt>
<dd><p>The usual algorithm is to give the newly created row a ROWID that is one larger than the largest ROWID in the table prior to the insert.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/vdbe.c)</i></p></dd>

<dt><b>R-29555-61994-05019-56778-12354-29013-03139-17266</b></dt>
<dd><p>Note that if X and Y.Z are column names, then +X and +Y.Z are considered expressions for the purpose of determining affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-29588-44058-56045-00722-36389-33824-35706-30523</b></dt>
<dd><p>An INSERT that fails due to a constraint violation is not a successful INSERT and does not change the value returned by this routine.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-29600-32407-54811-33651-22955-26262-16018-30636</b></dt>
<dd><p>sqlite3_free() is used to free idxPtr if and only if needToFreeIdxPtr is true.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-29604-30395-11418-33165-02079-38209-02467-57208</b></dt>
<dd><p>However, COMMIT will fail as long as foreign key constraints remain in violation.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-29629-55858-55328-41166-17171-44417-01732-51851</b></dt>
<dd><p>Type is associated with individual values, not with the containers used to hold those values.
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-29639-16887-16584-30400-13663-34877-64046-50311</b></dt>
<dd><p>The sqlite3_db_readonly(D,N) interface returns 1 if the database N of connection D is read-only, 0 if it is read/write, or -1 if N is not the name of a database on connection D.
<i>(source <a href="c3ref/db_readonly.html">c3ref/db_readonly.html</a>)</i></p></dd>

<dt><b>R-29639-49338-45805-35258-41039-23584-19093-35749</b></dt>
<dd><p>The sqlite3_create_function() interface can be used to override the like() function and thereby change the operation of the LIKE operator.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-29649-49812-55856-43048-16547-37449-39759-10169</b></dt>
<dd><p>The nullif(X,Y) function returns its first argument if the arguments are different and NULL if the arguments are the same.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-29691-21352-53312-54436-56868-51235-26976-62729</b></dt>
<dd><p>For a blob value X, length(X) returns the number of bytes in the blob.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-29702-55194-05446-48408-53607-29729-56782-07687</b></dt>
<dd><p>If either operand has an explicit collating function assignment using the postfix COLLATE operator, then the explicit collating function is used for comparison, with precedence to the collating function of the left operand.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-29704-26647-58862-58935-31533-13851-11315-20283</b></dt>
<dd><p>Application developers can use the EXPLAIN QUERY PLAN prefix on a statement to get a high-level overview of the chosen query strategy.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-29717-44395-08942-06738-40999-59485-13734-40908</b></dt>
<dd><p>The SQLITE_FCNTL_SYNC_OMITTED opcode is generated internally by SQLite and sent to all VFSes in place of a call to the xSync method when the database connection has PRAGMA synchronous set to OFF.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-29740-29379-09735-48719-34134-53325-08131-24362</b></dt>
<dd><p>For any key X, pointers to the left of a X refer to b-tree pages on which all keys are less than or equal to X.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-29748-45567-07187-24756-39474-12329-09927-01777</b></dt>
<dd><p>A function where the preferred text encoding matches the database encoding is a better match than a function where the encoding is different.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-29753-05667-59108-06137-58483-55469-25582-30166</b></dt>
<dd><p>The text of query parameters is appended to the filename argument of the xOpen method of the VFS.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-29765-45832-49120-26582-31576-30942-45829-65039</b></dt>
<dd><p>When an INTEGER or REAL is compared to another INTEGER or REAL, a numerical comparison is performed.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-29779-04281-26216-55813-25026-31775-44460-23073</b></dt>
<dd><p>If the ORDER BY expression is a constant integer K then the expression is considered an alias for the K-th column of the result set (columns are numbered from left to right starting with 1).
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-29804-27366-08727-59986-31864-09983-14088-09844</b></dt>
<dd><p>If offset iOffset is less than N bytes from the end of the BLOB, SQLITE_ERROR is returned and no data is written.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-29830-14325-45586-46074-54512-52450-29043-42603</b></dt>
<dd><p>If the savepoint-name in a ROLLBACK TO command does not match any SAVEPOINT on the stack, then the ROLLBACK command fails with an error and leaves the state of the database unchanged.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-29855-60809-01544-19871-54336-63942-18466-34966</b></dt>
<dd><p>The source database connection may be used by the application for other purposes while a backup operation is underway or being initialized.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-29868-13536-10966-03336-45139-07308-57583-25685</b></dt>
<dd><p>If a NOT NULL constraint is specified, then the column must have a default value other than NULL.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-29875-31678-61620-24152-15277-25938-13734-04890</b></dt>
<dd><p>The argument to the SQLITE_FCNTL_PRAGMA file control is an array of pointers to strings (char**) in which the second element of the array is the name of the pragma and the third element is the argument to the pragma or NULL if the pragma has no argument.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-29884-43993-19357-13132-02641-29383-22289-61508</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT (SELECT b FROM t1 WHERE a=0), (SELECT a FROM t1 WHERE b=t2.c) FROM t2; 0|0|0|SCAN TABLE t2 (~1000000 rows) 0|0|0|EXECUTE SCALAR SUBQUERY 1 1|0|0|SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) (~10 rows) 0|0|0|EXECUTE CORRELATED SCALAR SUBQUERY 2 2|0|0|SEARCH TABLE t1 USING INDEX i3 (b=?) (~10 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-29897-28851-11131-17538-15635-12313-50588-15022</b></dt>
<dd><p>Such transactions usually persist until the next COMMIT or ROLLBACK command. But a transaction will also ROLLBACK if the database is closed or if an error occurs and the ROLLBACK conflict resolution algorithm is specified.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-29901-08836-51888-40758-53445-49475-03703-08720</b></dt>
<dd><p>The SQLITE_OPEN_EXCLUSIVE flag is always used in conjunction with the SQLITE_OPEN_CREATE flag, which are both directly analogous to the O_EXCL and O_CREAT flags of the POSIX open() API.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-29907-62378-42519-29973-48919-58819-22759-58497</b></dt>
<dd><p>Calling sqlite3_auto_extension(X) with an entry point X that is already on the list of automatic extensions is a harmless no-op.
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-29987-53326-32227-44761-37373-28199-35279-34751</b></dt>
<dd><p>The leftmost column of the result set has the index 0.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-29989-03153-00644-12353-52386-44408-44979-16456</b></dt>
<dd><p>If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or sqlite3_mutex_leave() is a NULL pointer, then all three routines behave as no-ops.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-30008-03647-27202-20831-29850-54434-32362-14140</b></dt>
<dd><p>If the result is a BLOB or UTF-16 string then the sqlite3_column_bytes16() routine returns the number of bytes in that BLOB or string.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-30082-38996-55894-31210-19025-03289-36793-27218</b></dt>
<dd><p>The non-equals operator can be either != or <>.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-30083-58938-31645-59750-38554-41419-43937-22175</b></dt>
<dd><p>The index of the column is stored in aConstraint[].iColumn.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-30104-14201-52849-13140-57489-26582-19257-15267</b></dt>
<dd><p>Additional application-specific collating functions can be added to SQLite using the sqlite3_create_collation() interface.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-30130-35580-22710-51488-33023-50540-34126-23356</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_MUTEX_APPDEF preprocessor macro defined (with "-DSQLITE_MUTEX_APPDEF=1"), then no mutex implementation is included with the library. In this case the application must supply a custom mutex implementation using the SQLITE_CONFIG_MUTEX option of the sqlite3_config() function before calling sqlite3_initialize() or any other public sqlite3_ function that calls sqlite3_initialize().
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-30133-51826-26548-49870-21915-40330-05872-49293</b></dt>
<dd><p>If sqlite3_close() is called on a database connection that still has outstanding prepared statements or BLOB handles, then it returns SQLITE_BUSY.
<i>(source <a href="c3ref/close.html">c3ref/close.html</a>)</i></p></dd>

<dt><b>R-30135-06439-12622-19657-03902-02051-33050-20191</b></dt>
<dd><p>The wal_autocheckpoint pragma can be used to invoke this interface from SQL.
<i>(source <a href="c3ref/wal_autocheckpoint.html">c3ref/wal_autocheckpoint.html</a>)</i></p></dd>

<dt><b>R-30140-15527-13572-28268-32284-47435-56739-50325</b></dt>
<dd><p>The compress option is used to specify the compress function.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-30183-02411-51653-12439-28601-35292-29991-26637</b></dt>
<dd><p>Simply setting the locking-mode to NORMAL is not enough - locks are not be released until the next time the database file is accessed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-30189-54097-58322-43687-36717-28803-52946-09131</b></dt>
<dd><p>For each limit category SQLITE_LIMIT_NAME there is a hard upper bound set at compile-time by a C preprocessor macro called SQLITE_MAX_NAME. (The "_LIMIT_" in the name is changed to "_MAX_".)
<i>(source <a href="c3ref/limit.html">c3ref/limit.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-30203-16177-21836-43860-61302-22339-06718-16250</b></dt>
<dd><p>If a WHERE clause is supplied, then only those rows for which the result of evaluating the WHERE clause as a boolean expression is true are deleted.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-30224-53949-52765-04057-07963-58169-00243-05425</b></dt>
<dd><p>The load_extension() function will fail if the extension attempts to modify or delete an SQL function or collating sequence.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-30243-02494-34522-44043-46462-44113-55048-51587</b></dt>
<dd><p>The sqlite3_stricmp() and sqlite3_strnicmp() APIs allow applications and extensions to compare the contents of two buffers containing UTF-8 strings in a case-independent fashion, using the same definition of "case independence" that SQLite uses internally when comparing identifiers.
<i>(source <a href="c3ref/stricmp.html">c3ref/stricmp.html</a>, checked-by: src/util.c)</i></p></dd>

<dt><b>R-30248-02140-43435-09276-30517-50982-49513-41085</b></dt>
<dd><p>The first three columns contain an integer value.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-30269-25284-41363-48378-16742-02348-00072-11353</b></dt>
<dd><p>The default value of the fullfsync flag is off.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-30311-39793-14973-30919-34186-11921-51287-47112</b></dt>
<dd><p>The minimum value is the first non-NULL value that would appear in an ORDER BY of the column.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-30323-21917-40561-21411-57538-63013-10240-64875</b></dt>
<dd><p>Each foreign key constraint in SQLite is classified as either immediate or deferred.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: src/build.c, src/fkey.c, src/sqliteInt.h, tcl/e_fkey.test)</i></p></dd>

<dt><b>R-30345-49683-04761-28240-55990-63496-60615-22028</b></dt>
<dd><p>If the SQLITE_FCNTL_PRAGMA file control returns SQLITE_OK, then the parser assumes that the VFS has handled the PRAGMA itself and the parser generates a no-op prepared statement.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-30347-18702-41681-51017-11561-03801-56644-21815</b></dt>
<dd><p>Casting a REAL or INTEGER value to NUMERIC is a no-op, even if a real value could be losslessly converted to an integer.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-30358-48480-02487-45285-44102-55038-52936-37421</b></dt>
<dd><p>The SQLITE_SOURCE_ID macro evaluates to a string which identifies a particular check-in of SQLite within its configuration management system.
<i>(source <a href="c3ref/c_source_id.html">c3ref/c_source_id.html</a>)</i></p></dd>

<dt><b>R-30374-63100-15715-29897-06518-00278-46226-59168</b></dt>
<dd><p>Every call to sqlite3_backup_step() obtains a shared lock on the source database that lasts for the duration of the sqlite3_backup_step() call.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-30391-20943-57014-62404-57876-35219-41861-22105</b></dt>
<dd><p>There can only be a single busy handler defined for each database connection. Setting a new busy handler clears any previously set handler.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-30433-25443-23879-51033-37593-48703-34224-12115</b></dt>
<dd><p>An underscore ("_") in the LIKE pattern matches any single character in the string.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-30441-22868-56259-01619-42877-06616-24361-33172</b></dt>
<dd><p>Whenever a prepared statement runs, it first checks the schema cookie to make sure the value is the same as when the statement was prepared and if the schema cookie has changed, the statement aborts in order to force the statement to be reprepared.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-30470-29835-03618-00817-05721-31518-05673-45416</b></dt>
<dd><p>Any column in an SQLite version 3 database, except an INTEGER PRIMARY KEY column, may be used to store a value of any storage class.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-30481-56627-22651-35996-10349-58660-54475-15242</b></dt>
<dd><p>Any scalar expression may be used in the LIMIT clause, so long as it evaluates to an integer or a value that can be losslessly converted to an integer.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-30526-43432-10994-07089-02178-39041-60976-54446</b></dt>
<dd><p>The locking mode of temp and in-memory databases cannot be changed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-30536-43680-50770-40258-41910-12712-43265-49124</b></dt>
<dd><p><img src="images/syntax/create-trigger-stmt.gif"><br>
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-30575-11662-27588-39588-65312-47718-51779-38548</b></dt>
<dd><p>But virtual terms never generate code that is tested against input rows.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-30582-29746-05981-37310-62755-30295-44870-62832</b></dt>
<dd><p>If the callback on a commit hook function returns non-zero, then the commit is converted into a rollback.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-30617-11336-33984-38056-06680-32424-07593-35065</b></dt>
<dd><p>After calling the xDestroy() method, SQLite considers the sqlite3_pcache* handle invalid, and will not use it with any other sqlite3_pcache_methods2 functions.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-30625-54804-33917-43286-23352-47567-28997-28451</b></dt>
<dd><p>If the fourth parameter is negative, the length of the string is the number of bytes up to the first zero terminator.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-30638-59954-59281-20323-32142-07020-22821-14638</b></dt>
<dd><p>In a CASE without a base expression, each WHEN expression is evaluated and the result treated as a boolean, starting with the leftmost and continuing to the right.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-30687-15230-29813-38800-06728-37939-57957-31201</b></dt>
<dd><p>The WAL header is 32 bytes in size and consists of the following eight big-endian 32-bit unsigned integer values: WAL Header Format OffsetSizeDescription 04 Magic number. 0x377f0682 or 0x377f0683 44 File format version. Currently 3007000. 84 Database page size. Example: 1024 124 Checkpoint sequence number 164 Salt-1: random integer incremented with each checkpoint 204 Salt-2: a different random number for each checkpoint 244 Checksum-1: First part of a checksum on the first 24 bytes of header 284 Checksum-2: Second part of the checksum on the first 24 bytes of header
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-30809-57812-61495-62022-11490-25278-56613-15778</b></dt>
<dd><p>The final callback parameter is the rowid of the row.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-30814-53756-49698-58904-46011-12554-22448-40537</b></dt>
<dd><p>SQLITE_STATUS_MEMORY_USED This parameter is the current amount of memory checked out using sqlite3_malloc(), either directly or indirectly. The figure includes calls made to sqlite3_malloc() by the application and internal memory usage by the SQLite library. Scratch memory controlled by SQLITE_CONFIG_SCRATCH and auxiliary page-cache memory controlled by SQLITE_CONFIG_PAGECACHE is not included in this parameter. The amount returned is the sum of the allocation sizes as reported by the xSize method in sqlite3_mem_methods.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-30879-62015-53996-61326-18041-63884-46339-47880</b></dt>
<dd><p>And the declared type of "STRING" has an affinity of NUMERIC, not TEXT.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-30955-38324-06638-08685-16466-65436-15533-06365</b></dt>
<dd><p>If the UPDATE statement also has an OFFSET clause, then it is similarly evaluated and cast to an integer value. If the OFFSET expression evaluates to a non-negative value M, then the first M rows are skipped and the following N rows updated instead.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-30964-04756-41013-33290-38906-18403-44827-12997</b></dt>
<dd><p>The legacy behavior was that sqlite3_step() would only return a generic SQLITE_ERROR result code and the application would have to make a second call to sqlite3_reset() in order to find the underlying cause of the problem.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-31029-02789-51389-40070-25151-19392-18984-32450</b></dt>
<dd><p>Root pages are moved to the beginning of the database file by the CREATE TABLE, CREATE INDEX, DROP TABLE, and DROP INDEX operations.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-31035-48105-55236-17512-32062-12366-10110-52557</b></dt>
<dd><p>If no arguments are given, all attached databases are analyzed.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-31057-17911-60541-63483-60128-04884-16403-39905</b></dt>
<dd><p>Note that the *ppBlob variable is always initialized in a way that makes it safe to invoke sqlite3_blob_close() on *ppBlob regardless of the success or failure of this routine.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-31067-37494-56120-35098-11105-54623-54147-27483</b></dt>
<dd><p>Triggers are removed using the DROP TRIGGER statement.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-31074-37730-44024-06868-31899-04779-58492-60283</b></dt>
<dd><p>Any SELECT statement, including compound SELECTs and SELECT statements with ORDER BY and/or LIMIT clauses, may be used in an INSERT statement of this form.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-31076-23575-44085-04825-53567-12397-07773-16537</b></dt>
<dd><p>Casting a value to a <type-name> with no affinity causes the value to be converted into a BLOB.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-31093-59126-54996-31086-46526-58121-23400-49196</b></dt>
<dd><p>The default suggested cache size is 2000 pages.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-31163-29022-10663-19494-01661-06524-11639-30452</b></dt>
<dd><p>The "E" character that begins the exponentiation clause of a floating point literal can be either upper or lower case.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-31231-36717-57726-13439-19567-41766-26823-60811</b></dt>
<dd><p>The new mutex is recursive when SQLITE_MUTEX_RECURSIVE is used but not necessarily so when SQLITE_MUTEX_FAST is used.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-31248-24630-37475-28758-64215-56604-24000-32221</b></dt>
<dd><p>The 32-bit integers are big-endian if the magic number in the first 4 bytes of the WAL header is 0x377f0683 and the integers are little-endian if the magic number is 0x377f0682.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-31275-44060-31786-28874-63587-64128-53792-58628</b></dt>
<dd><p>Strings returned by sqlite3_column_text() and sqlite3_column_text16(), even empty strings, are always zero-terminated.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>, checked-by: src/vdbemem.c)</i></p></dd>

<dt><b>R-31295-24696-44210-39757-63794-35429-55817-16527</b></dt>
<dd><p>Let M be ((U-12)*32/255)-23. If P is greater than X then the number of byte stored on the b-tree page is the smaller of M+((P-M)%(U-4)) and X.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-31305-35170-11464-64098-34506-16219-33057-18056</b></dt>
<dd><p>After the header and zero padding are zero or more page records.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-31312-33516-05278-47140-12669-18608-41834-55008</b></dt>
<dd><p>The lower(X) function returns a copy of string X with all ASCII characters converted to lower case.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-31327-09584-58286-37804-26894-23464-47071-52660</b></dt>
<dd><p>The final column, "detail", contains a text value which carries most of the useful information.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-31338-54830-28259-56420-63783-19909-54858-57072</b></dt>
<dd><p>The error code and message for the failed call to sqlite3_backup_init() can be retrieved using the sqlite3_errcode(), sqlite3_errmsg(), and/or sqlite3_errmsg16() functions.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-31386-03131-57152-48354-62931-03354-07372-50774</b></dt>
<dd><p>The authorizer callback should return SQLITE_OK to allow the action, SQLITE_IGNORE to disallow the specific action but allow the SQL statement to continue to be compiled, or SQLITE_DENY to cause the entire SQL statement to be rejected with an error.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-31406-45734-45366-20105-37202-23050-60311-59562</b></dt>
<dd><p>If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer to an empty string, or a pointer that contains only whitespace and/or SQL comments, then no SQL statements are evaluated and the database is not changed.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-31407-09838-16507-11461-46420-27815-09445-39948</b></dt>
<dd><p>The sqlite3_user_data() interface returns a copy of the pointer that was the pUserData parameter (the 5th parameter) of the sqlite3_create_function() and sqlite3_create_function16() routines that originally registered the application defined function.
<i>(source <a href="c3ref/user_data.html">c3ref/user_data.html</a>)</i></p></dd>

<dt><b>R-31442-26915-27818-62289-58213-54460-29931-06977</b></dt>
<dd><p>The default built-in lower() function works for ASCII characters only.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-31453-41389-40618-59449-38915-45174-40720-02932</b></dt>
<dd><p>For example, the function "count(distinct X)" will return the number of distinct values of column X instead of the total number of non-null values in column X.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-31495-11906-44188-55003-62019-53005-39571-59325</b></dt>
<dd><p>If a database name is given as the argument, then all tables and indices in that one database are analyzed.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-31509-21858-22614-04075-64482-13479-08451-58532</b></dt>
<dd><p>The "order" option may be set to either "DESC" or "ASC" (in upper or lower case).
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-31518-37056-56231-07788-10281-54147-06570-65506</b></dt>
<dd><p>If the destructor argument is SQLITE_STATIC, it means that the content pointer is constant and will never change.
<i>(source <a href="c3ref/c_static.html">c3ref/c_static.html</a>)</i></p></dd>

<dt><b>R-31526-56213-47195-27280-32450-14597-41051-28661</b></dt>
<dd><p>The specific value of WHERE-clause parameter might influence the choice of query plan if the parameter is the left-hand side of a LIKE or GLOB operator or if the parameter is compared to an indexed column and the SQLITE_ENABLE_STAT3 compile-time option is enabled.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-31536-32008-60945-18932-27030-19997-64437-42960</b></dt>
<dd><p>Literal values may be integers, floating point numbers, strings, BLOBs, or NULLs.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-31537-00101-65351-40298-33316-64699-39889-60990</b></dt>
<dd><p>If a HAVING clause is specified, it is evaluated once for each group of rows as a boolean expression. If the result of evaluating the HAVING clause is false, the group is discarded.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-31556-18768-05780-57111-46292-61960-56108-12651</b></dt>
<dd><p>SQLite will never require a scratch buffer that is more than 6 times the database page size.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-31559-52189-63274-09210-03777-15240-18014-01548</b></dt>
<dd><p>Inner joins can be freely reordered.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-31567-38587-20789-38106-63049-52268-08688-06103</b></dt>
<dd><p>If the table to which the trigger is attached is in the TEMP database, then the unqualified name of the table being deleted is resolved in the same way as it is for a top-level statement (by searching first the TEMP database, then the main database, then any other databases in the order they were attached).
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-31579-59686-01381-52027-49305-56500-23555-06857</b></dt>
<dd><p>To avoid having to register all collation sequences before a database can be used, a single callback function may be registered with the database connection to be invoked whenever an undefined collation sequence is required.
<i>(source <a href="c3ref/collation_needed.html">c3ref/collation_needed.html</a>)</i></p></dd>

<dt><b>R-31593-10574-02886-51329-22797-44153-32978-49793</b></dt>
<dd><p>If the second parameter to sqlite3_realloc() is zero or negative then the behavior is exactly the same as calling sqlite3_free(P) where P is the first parameter to sqlite3_realloc().
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>, checked-by: src/malloc.c)</i></p></dd>

<dt><b>R-31691-16963-10105-28468-37479-63350-48516-19894</b></dt>
<dd><p>If it is zero, the BLOB is opened for read access.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-31754-06763-34474-63406-27990-08804-20195-47233</b></dt>
<dd><p>The min/max-value pair columns are always stored as 32-bit floating point values.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-31757-07599-53600-28407-17941-01600-55959-20235</b></dt>
<dd><p>As an internal optimization, small floating point values with no fractional component and stored in columns with REAL affinity are written to disk as integers in order to take up less space and are automatically converted back into floating point as the value is read out.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-31764-59173-05200-42928-33270-18898-11058-33059</b></dt>
<dd><p>julianday(timestring, modifier, modifier, ...)
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-31775-48204-44006-26750-02620-57678-37164-54735</b></dt>
<dd><p>Or, if a PRIMARY KEY clause is specified as a table-constraint, then the primary key of the table consists of the list of columns specified as part of the PRIMARY KEY clause.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-31795-57643-34892-44323-47602-12322-63634-37934</b></dt>
<dd><p>a NOT NULL constraint dictates that the associated column may not contain a NULL value. Attempting to set the column value to NULL when inserting a new row or updating an existing one causes a constraint violation.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-31812-49659-31326-36358-44931-00819-19755-27412</b></dt>
<dd><p>The size of a blob may not be changed by this interface.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-31839-40105-47825-07965-38954-04263-02531-41060</b></dt>
<dd><p>Both forms of the pragma return the maximum page count.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-31842-04164-45925-20128-62976-05013-64077-31889</b></dt>
<dd><p>The zeroblob(N) function returns a BLOB consisting of N bytes of 0x00.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-31855-18665-44731-17316-60627-29707-46771-04515</b></dt>
<dd><p>If sqlite3_open_v2() is used and the vfs option is present, then the VFS specified by the option takes precedence over the value passed as the fourth parameter to sqlite3_open_v2().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-31881-13880-39891-17539-21926-06368-53167-38054</b></dt>
<dd><p>When an applicable constraint violation occurs, the ROLLBACK resolution algorithm aborts the current SQL statement with an SQLITE_CONSTRAINT error and rolls back the current transaction.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-31882-08811-51062-63000-47445-51971-26333-04918</b></dt>
<dd><p>But the FAIL resolution does not back out prior changes of the SQL statement that failed nor does it end the transaction.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-31883-14373-53297-17557-08649-10879-14648-40339</b></dt>
<dd><p>If the path component is omitted, then the database is stored in a temporary file that will be automatically deleted when the database connection closes.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-31884-19145-46591-63123-39712-55381-35148-20037</b></dt>
<dd><p>The syntax for the ON CONFLICT clause is as shown above for the CREATE TABLE command.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-31927-36837-42025-09498-11039-63316-34985-48115</b></dt>
<dd><p>This option takes two arguments that determine the default memory allocation for the lookaside memory allocator on each database connection. The first argument is the size of each lookaside buffer slot and the second is the number of slots allocated to each database connection.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-31969-57825-42101-14521-32158-26846-01551-49036</b></dt>
<dd><p>If EXCLUSIVE locking mode is set prior to the first WAL-mode database access, then SQLite never attempts to call any of the shared-memory methods and hence no shared-memory wal-index is ever created.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-31984-08010-07046-54406-16085-56792-07633-10679</b></dt>
<dd><p>On windows, if the absolute path begins with "/X:/" where X is any single ASCII alphabetic character ("a" through "z" or "A" through "Z") then the "X:" is understood to be the drive letter of the volume containing the file, not the toplevel directory.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-32023-34269-07081-56751-59037-09134-01490-38261</b></dt>
<dd><p>The second parameter is the name of the SQL function to be created or redefined.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-32076-12237-46595-29546-24176-12469-16826-41322</b></dt>
<dd><p>However, if three additional indices where added that contained columns b, c, and d as their left-most columns, then the OR-clause optimization might apply.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-32076-61231-62705-03238-04533-28632-50823-60259</b></dt>
<dd><p>If the payload size P is less than or equal to U-35 then the entire payload is stored on the b-tree leaf page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-32090-20403-62451-54879-55700-60084-08956-01962</b></dt>
<dd><p>Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
<i>(source <a href="c3ref/get_autocommit.html">c3ref/get_autocommit.html</a>)</i></p></dd>

<dt><b>R-32101-19135-54459-01785-29001-54232-54152-02071</b></dt>
<dd><p>The sqlite3_result_zeroblob() interfaces set the result of the application-defined function to be a BLOB containing all zero bytes and N bytes in size, where N is the value of the 2nd parameter.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-32157-42167-08368-62832-45024-59083-51380-54169</b></dt>
<dd><p>The normal configuration for SQLite running on workstations is for atomic write to be disabled, for the maximum page size to be set to 65536, for SQLITE_DEFAULT_PAGE_SIZE to be 1024, and for the maximum default page size to be set to 8192.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-32172-42404-39492-45133-11034-45047-00308-58009</b></dt>
<dd><p>Function sqlite3_backup_step(B,N) will copy up to N pages between the source and destination databases specified by sqlite3_backup object B.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-32195-19465-48930-47525-56822-22090-53999-25366</b></dt>
<dd><p>The schema version is used by SQLite each time a query is executed to ensure that the internal cache of the schema used when compiling the SQL query matches the schema of the database against which the compiled query is actually executed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-32235-53300-57293-28888-55345-58030-49173-41178</b></dt>
<dd><p>FOR EACH ROW implies that the SQL statements specified in the trigger may be executed (depending on the WHEN clause) for each database row being inserted, updated or deleted by the statement causing the trigger to fire.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-32266-59420-04967-20715-46228-25200-01200-16446</b></dt>
<dd><p>If the second parameter (zDbName) does not match the name of any open database file, then SQLITE_ERROR is returned.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-32267-31938-07296-47086-37699-20446-18682-32942</b></dt>
<dd><p>The data_store_directory pragma may modify this variable and cause it to point to memory obtained from sqlite3_malloc.
<i>(source <a href="c3ref/data_directory.html">c3ref/data_directory.html</a>)</i></p></dd>

<dt><b>R-32326-44592-25744-64223-64465-06212-39042-00138</b></dt>
<dd><p>Unlike normal SQLite columns, an integer primary key or rowid column must contain integer values. Integer primary key or rowid columns are not able to hold floating point values, strings, BLOBs, or NULLs.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-32333-58476-07670-32465-34848-10846-33271-03352</b></dt>
<dd><p>Triggers are automatically dropped when the table that they are associated with (the table-name table) is dropped.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-32365-09043-50030-24839-64719-45976-15708-15010</b></dt>
<dd><p>A "CREATE TABLE ... AS SELECT" statement creates and populates a database table based on the results of a SELECT statement.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-32369-26304-55789-00588-64019-11696-17983-36545</b></dt>
<dd><p>If the transaction is immediate, then RESERVED locks are acquired on all databases as soon as the BEGIN command is executed, without waiting for the database to be used.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-32456-02561-42254-10799-22639-60003-18000-44521</b></dt>
<dd><p>Only copies of SQLite newer than version 3.3.0 (released on 2006-01-10) are able to understand the newer descending index file format.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-32466-09954-62617-02818-57995-33430-52392-53656</b></dt>
<dd><p>Thus, when called from the top level, this function returns the number of changes in the most recent INSERT, UPDATE, or DELETE that also occurred at the top level.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-32521-20590-49288-35397-47504-42377-60996-54301</b></dt>
<dd><p>The time string is followed by zero or more modifiers.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-32562-20566-46417-07999-12317-06673-44579-53773</b></dt>
<dd><p>When three or more simple SELECTs are connected into a compound SELECT, they group from left to right. In other words, if "A", "B" and "C" are all simple SELECT statements, (A op B op C) is processed as ((A op B) op C).
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-32633-52682-08562-36271-43194-24127-51342-52899</b></dt>
<dd><p>At least szOsFile bytes of memory are allocated by SQLite to hold the sqlite3_file structure passed as the third argument to xOpen.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-32684-32018-63194-42027-35826-10339-13815-57050</b></dt>
<dd><p>Attempts to insert something other than an integer into the first column, or something other than a floating point value into the other columns, will result in an error.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-32693-16572-08453-15229-49794-25574-60503-63674</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_ENABLE_ATOMIC_WRITE option, then the default page size is chosen to be the largest page size less than or equal to SQLITE_MAX_DEFAULT_PAGE_SIZE for which atomic write is enabled according to the xDeviceCharacteristics method of the sqlite3_io_methods object for the database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-32706-07403-21974-02831-34123-06843-55643-09070</b></dt>
<dd><p>No affinity transformations are applied to any values when comparing rows as part of a compound SELECT.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-32737-17936-16355-61809-23249-50193-59951-04545</b></dt>
<dd><p>Comments are not SQL commands, but can occur within the text of SQL queries passed to sqlite3_prepare_v2() and related interfaces.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-32768-47925-14881-49153-08372-50935-16619-06911</b></dt>
<dd><p>If an immediate foreign key constraint is violated, the DROP TABLE statement fails and the table is not dropped.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-32792-60226-60844-50115-44778-21229-22761-46890</b></dt>
<dd><p>The ESCAPE clause cannot appear on the LIKE operator.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-32806-65233-63423-39928-44686-28712-07931-12350</b></dt>
<dd><p>The fourth argument, pArg, is an application data pointer that is passed through as the first argument to the collating function callback.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-32809-14620-63808-12852-40065-57653-46928-34414</b></dt>
<dd><p>The parent key must be a named column or columns in the parent table, not the rowid.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>)</i></p></dd>

<dt><b>R-32877-33942-42689-20785-21547-49318-20926-11856</b></dt>
<dd><p><img src="images/syntax/drop-table-stmt.gif"><br>
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-33025-54904-06000-56378-59479-50332-62998-62315</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT c, d FROM t2 ORDER BY c; 0|0|0|SCAN TABLE t2 (~1000000 rows) 0|0|0|USE TEMP B-TREE FOR ORDER BY
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-33035-16498-10379-54790-22685-33042-10966-12535</b></dt>
<dd><p>If a memory allocation fails, then SQLITE_NOMEM is returned.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-33038-09382-52096-22256-12094-15064-07280-37767</b></dt>
<dd><p>If the second argument to SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally rounded down to the next smaller multiple of 8.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-33044-60878-17914-17978-29807-58518-12841-10754</b></dt>
<dd><p>an implicit DELETE FROM <tbl> does cause any configured foreign key actions to take place.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-33075-33190-25707-00729-29148-31049-04309-45993</b></dt>
<dd><p>If a keyword in single quotes (ex: 'key' or 'glob') is used in a context where an identifier is allowed but where a string literal is not allowed, then the token is understood to be an identifier instead of a string literal.
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-33124-58846-63098-57444-60113-38939-22033-09777</b></dt>
<dd><p>Note that when the right-hand side of a LIKE or GLOB operator is a parameter and the statement is prepared using sqlite3_prepare_v2() or sqlite3_prepare16_v2() then the statement is automatically reparsed and recompiled on the first sqlite3_step() call of each run if the binding to the right-hand side parameter has changed since the previous run.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-33140-21501-29804-63127-48240-59602-40241-17867</b></dt>
<dd><p>For the LIKE operator, if case_sensitive_like mode is enabled then the column must indexed using BINARY collating sequence, or if case_sensitive_like mode is disabled then the column must indexed using built-in NOCASE collating sequence.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-33158-44470-62921-30043-30800-41524-35337-30163</b></dt>
<dd><p><img src="images/syntax/commit-stmt.gif"><br>
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-33205-04339-37109-01769-40581-52916-62625-52614</b></dt>
<dd><p>RTRIM Like BINARY except that spaces at the end of the string are elided prior to comparison.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-33207-46321-53026-17702-02411-39856-40381-40284</b></dt>
<dd><p>PRAGMA secure_delete; PRAGMA database.secure_delete; PRAGMA secure_delete = boolean PRAGMA database.secure_delete = boolean Query or change the secure-delete setting.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-33211-38833-64331-54724-35381-31821-05246-63257</b></dt>
<dd><p>These routines do not parse the SQL statements thus will not detect syntactically incorrect SQL.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-33315-53384-19536-00039-42426-59902-48545-24529</b></dt>
<dd><p>Thus, the backup may be performed on a live source database without preventing other database connections from reading or writing to the source database while the backup is underway.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-33316-19795-08370-35100-15159-39307-16097-56767</b></dt>
<dd><p>If the most recent call to sqlite3_step(S) for the prepared statement S indicated an error, then sqlite3_reset(S) returns an appropriate error code.
<i>(source <a href="c3ref/reset.html">c3ref/reset.html</a>)</i></p></dd>

<dt><b>R-33323-30666-12361-11802-51105-01670-21986-27778</b></dt>
<dd><p>In SQLite, every row of every table has an 64-bit signed integer ROWID.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-33326-45252-38720-14593-54555-59144-23018-05599</b></dt>
<dd><p>The ON DELETE and ON UPDATE action associated with each foreign key in an SQLite database is one of "NO ACTION", "RESTRICT", "SET NULL", "SET DEFAULT" or "CASCADE".
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: src/parse.y, tcl/e_fkey.test)</i></p></dd>

<dt><b>R-33352-16228-19462-25047-13980-23357-27400-59118</b></dt>
<dd><p>When the EXPLAIN keyword appears by itself it causes the statement to behave as a query that returns the sequence of virtual machine instructions it would have used to execute the command had the EXPLAIN keyword not been present.
<i>(source <a href="lang_explain.html">lang_explain.html</a>)</i></p></dd>

<dt><b>R-33368-33178-21159-57347-39405-35254-59100-49447</b></dt>
<dd><p>The first parameter, szPage, is the size in bytes of the pages that must be allocated by the cache.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-33375-48073-08624-20696-10672-49467-44015-42343</b></dt>
<dd><p>The parameter N is the number of virtual machine instructions that are evaluated between successive invocations of the callback X.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-33393-31741-20908-00667-39287-64680-56276-36828</b></dt>
<dd><p>Terms of the ORDER BY clause that is part of a SELECT statement may be assigned a collating sequence using the COLLATE operator, in which case the specified collating function is used for sorting.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-33401-06099-44102-08352-15092-58623-33401-34005</b></dt>
<dd><p>SQLITE_OPEN_READONLY The database is opened in read-only mode. If the database does not already exist, an error is returned.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-33414-20006-38430-38330-20007-08440-33108-23538</b></dt>
<dd><p>The SQLITE_UTF16 and SQLITE_UTF16_ALIGNED values for eTextRep force strings to be UTF16 with native byte order.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-33467-37360-23138-22301-18230-32640-26995-05257</b></dt>
<dd><p>Aggregate functions may only be used in a SELECT statement.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-33496-49460-40885-47410-47365-30809-19419-02033</b></dt>
<dd><p>Module names must be registered before creating a new virtual table using the module and before using a preexisting virtual table for the module.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-33509-39458-36310-35502-14516-21374-43920-49454</b></dt>
<dd><p>A question mark followed by a number NNN holds a spot for the NNN-th parameter. NNN must be between 1 and SQLITE_MAX_VARIABLE_NUMBER.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-33528-20612-64279-03791-45165-25207-10127-32608</b></dt>
<dd><p>If no database is specified as part of the object reference, then SQLite searches the main, temp and all attached databases for an object with a matching name. The temp database is searched first, followed by the main database, followed all attached databases in the order that they were attached. The reference resolves to the first match found.
<i>(source <a href="lang_naming.html">lang_naming.html</a>, checked-by: tcl/e_resolve.test)</i></p></dd>

<dt><b>R-33553-19363-35042-00573-64070-53843-36958-05658</b></dt>
<dd><p>The subquery does not use OFFSET.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-33570-18895-27619-21793-53436-58897-32599-21994</b></dt>
<dd><p>The following table summarizes the interaction of the SQLITE_TEMP_STORE preprocessor macro and the temp_store pragma: SQLITE_TEMP_STORE PRAGMAtemp_store Storage used forTEMP tables and indices 0 any file 1 0 file 1 1 file 1 2 memory 2 0 memory 2 1 file 2 2 memory 3 any memory
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-33571-01024-54903-50358-23256-27428-52218-13521</b></dt>
<dd><p>The page header size is 20 to 40 bytes depending on the host architecture.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-33626-44500-44579-55445-20026-07899-19169-03498</b></dt>
<dd><p>There may be at most one unlock-notify callback registered by a blocked connection. If sqlite3_unlock_notify() is called when the blocked connection already has a registered unlock-notify callback, then the new callback replaces the old.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-33626-48418-46855-58211-38849-29467-54588-01790</b></dt>
<dd><p>In SQLite, if any of the child key columns (in this case songartist and songalbum) are NULL, then there is no requirement for a corresponding row in the parent table.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-33638-42108-26905-16665-62411-42905-33144-33922</b></dt>
<dd><p>PRAGMA legacy_file_format; PRAGMA legacy_file_format = boolean This pragma sets or queries the value of the legacy_file_format flag.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-33670-36097-38044-00457-34720-22769-46022-27724</b></dt>
<dd><p>A question mark that is not followed by a number creates a parameter with a number one greater than the largest parameter number already assigned.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-33693-50180-37638-14993-01835-21324-19267-11438</b></dt>
<dd><p>The REGEXP operator is a special syntax for the regexp() user function.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-33707-40199-39350-00147-14640-22092-62266-02343</b></dt>
<dd><p>But special processing applies to the ON and USING clauses of an OUTER join: specifically, the constraints in an ON or USING clause do not apply if the right table of the join is on a null row, but the constraints do apply in the WHERE clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-33708-43819-48693-15112-15003-18731-38490-26979</b></dt>
<dd><p>The content allows the text being indexed to be stored in a separate table distinct from the FTS4 table, or even outside of SQLite.
<i>(source <a href="fts3.html">fts3.html</a>)</i></p></dd>

<dt><b>R-33710-56344-23353-36559-53018-17291-08260-37097</b></dt>
<dd><p>In order to use foreign key constraints in SQLite, the library must be compiled with neither SQLITE_OMIT_FOREIGN_KEY or SQLITE_OMIT_TRIGGER defined.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-33750-29536-47450-45123-25964-11560-21995-55948</b></dt>
<dd><p>Otherwise, the SELECT returns the first N rows of its result set only, where N is the value that the LIMIT expression evaluates to.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-33784-64667-60793-40024-61675-59572-30053-23850</b></dt>
<dd><p>This function is used to write data into an open BLOB handle from a caller-supplied buffer.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-33788-46243-41692-58767-41171-41314-21464-32804</b></dt>
<dd><p>In this case, the first expression is used as the OFFSET expression and the second as the LIMIT expression.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-33828-11557-55616-28971-39910-43977-11271-02017</b></dt>
<dd><p>The SQLITE_MUTEX_OS2, SQLITE_MUTEX_PTHREADS, and SQLITE_MUTEX_W32 implementations are appropriate for use on OS/2, Unix, and Windows.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-33841-62945-13926-63288-41300-28246-26461-11874</b></dt>
<dd><p>Thus, for example, the data 2001-03-31 modified by '+1 month' initially yields 2001-04-31, but April only has 30 days so the date is normalized to 2001-05-01.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-33883-28833-60318-48575-53923-47015-06615-40154</b></dt>
<dd><p>Foreign key DDL errors are reported regardless of whether or not foreign key constraints are enabled when the table is created.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-33917-24086-34361-61973-51178-03721-35954-00662</b></dt>
<dd><p>However, if the "IF NOT EXISTS" clause is specified as part of the CREATE TABLE statement and a table or view of the same name already exists, the CREATE TABLE command simply has no effect (and no error message is returned).
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-33948-22286-15597-10485-25275-41982-01072-17156</b></dt>
<dd><p>The algorithm specified in the OR clause of an INSERT or UPDATE overrides any algorithm specified in a CREATE TABLE.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-33950-57093-23380-64554-61801-30987-12746-10574</b></dt>
<dd><p>All indices and triggers associated with the table are also deleted.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-33977-57271-59293-02679-37541-34864-44396-22637</b></dt>
<dd><p>The left-most column is column 0 for these routines.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-33986-09410-10698-48479-39272-65303-00860-07768</b></dt>
<dd><p>Each row in a table with a primary key must feature a unique combination of values in its primary key columns.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-34009-51042-01012-14502-52205-32655-22973-26621</b></dt>
<dd><p>If Y is negative then the first character of the substring is found by counting from the right rather than the left.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-34021-38482-31030-34652-01469-03047-61601-46080</b></dt>
<dd><p>The optimizer automatically inverts terms of the form "expr OP column" and makes other simplifications to the WHERE clause in an attempt to get as many WHERE clause terms into the form shown above as possible.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-34023-52929-12261-02515-22772-45177-48508-47679</b></dt>
<dd><p>The query string is optional.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-34075-04410-42312-11647-26206-31374-51327-10937</b></dt>
<dd><p>The sqlite3_result_value() interface sets the result of the application-defined function to be a copy the unprotected sqlite3_value object specified by the 2nd parameter.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-34109-39108-27898-16254-24563-58797-32171-17937</b></dt>
<dd><p>If the CHECK expression evaluates to NULL, or any other non-zero value, it is not a constraint violation.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-34157-58791-17713-05180-07871-57125-61990-17595</b></dt>
<dd><p>The second column of the result is the rank of the column within the table.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-34234-52126-13891-36855-21265-08475-46071-60317</b></dt>
<dd><p>The default mode is for LIKE comparisons to be insensitive to differences of case for latin1 characters.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-34264-15842-51908-27355-58812-13180-15279-38051</b></dt>
<dd><p>The legacy_file_format pragma can be used to cause SQLite to create new database files using format 1.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-34271-33106-55360-31605-05941-37144-32278-15012</b></dt>
<dd><p>PRAGMA automatic_index; PRAGMA automatic_index = boolean; Query, set, or clear the automatic indexing capability.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-34280-42283-63975-25394-58653-47378-35851-53437</b></dt>
<dd><p>The count(X) function returns a count of the number of times that X is not NULL in a group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-34293-31480-01160-31597-61187-16604-15204-31151</b></dt>
<dd><p>The sqlite3_extended_errcode() interface is the same except that it always returns the extended result code even when extended result codes are disabled.
<i>(source <a href="c3ref/errcode.html">c3ref/errcode.html</a>)</i></p></dd>

<dt><b>R-34326-56357-56903-53526-53046-15549-19745-22986</b></dt>
<dd><p>The sqlite3_result_error_code() function changes the error code returned by SQLite as a result of an error in a function.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-34354-51417-57740-57504-01542-51579-51443-23369</b></dt>
<dd><p>If the callback pointer to sqlite3_exec() is NULL, then no callback is ever invoked and result rows are ignored.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-34391-24921-52036-19820-43252-56353-24608-07545</b></dt>
<dd><p>The sqlite3_release_memory() routine is a no-op returning zero if SQLite is not compiled with SQLITE_ENABLE_MEMORY_MANAGEMENT.
<i>(source <a href="c3ref/release_memory.html">c3ref/release_memory.html</a>, checked-by: src/malloc.c)</i></p></dd>

<dt><b>R-34400-33772-12568-07085-14602-53889-15876-12187</b></dt>
<dd><p>Any leading spaces in the TEXT value when converting from TEXT to INTEGER are ignored.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-34407-33329-56662-13063-42233-50984-46328-08443</b></dt>
<dd><p>The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf().
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-34523-53574-06049-02454-36479-50078-26380-16372</b></dt>
<dd><p>The schema of the sqlite_stat1 table is as follows: CREATE TABLE sqlite_stat1(tbl,idx,stat); There is normally one row per index, with the index identified by the name in the sqlite_stat1.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-34526-35712-49832-15543-35160-30600-56964-59649</b></dt>
<dd><p>By default, the error code is SQLITE_ERROR.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-34526-60085-48903-55535-08092-19931-63844-27321</b></dt>
<dd><p>The first time this routine is invoked (either internally or by the application) the PRNG is seeded using randomness obtained from the xRandomness method of the default sqlite3_vfs object.
<i>(source <a href="c3ref/randomness.html">c3ref/randomness.html</a>)</i></p></dd>

<dt><b>R-34561-00264-36299-40120-12079-02627-14730-26524</b></dt>
<dd><p>If an authorizer callback returns SQLITE_IGNORE for an SQLITE_DELETE action code, then the DELETE operation will proceed but the truncate optimization will be bypassed and rows will be deleted one by one.
<i>(source <a href="lang_delete.html">lang_delete.html</a>)</i></p></dd>

<dt><b>R-34614-52552-60710-47749-45454-53290-65494-24106</b></dt>
<dd><p>The sqlite3_status() routine returns SQLITE_OK on success and a non-zero error code on failure.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-34616-57962-62200-63763-25892-01209-38424-05918</b></dt>
<dd><p>Cache sharing is enabled and disabled for an entire process.
<i>(source <a href="c3ref/enable_shared_cache.html">c3ref/enable_shared_cache.html</a>)</i></p></dd>

<dt><b>R-34648-44875-03220-54825-01081-20056-64407-58283</b></dt>
<dd><p>Or, if the SELECT would return less than M+N rows if it did not have a LIMIT clause, then the first M rows are skipped and the remaining rows (if any) are returned.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-34706-05629-19212-06603-14274-22035-31068-37221</b></dt>
<dd><p>The open attempt fails if NAME is not the name of a VFS that is built into SQLite or that has been previously registered using sqlite3_vfs_register().
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-34730-53445-15838-11944-46041-12438-53750-14468</b></dt>
<dd><p>The case_sensitive_like pragma installs a new application-defined LIKE function that is either case sensitive or insensitive depending on the value of the case_sensitive_like pragma.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-34751-04246-20772-53163-23654-34620-17677-07511</b></dt>
<dd><p>So, in the example above, if the query were rewritten as: SELECT z FROM ex2 WHERE +x=5 AND y=6; The + operator on the x column will prevent that term from constraining an index. This would force the use of the ex2i2 index.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-34751-18293-04541-58685-13120-57905-41689-08740</b></dt>
<dd><p>If a single column-name appears more than once in the list of assignment expressions, all but the rightmost occurrence is ignored.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-34773-62253-14389-56183-06695-27653-47306-47953</b></dt>
<dd><p>The only difference between the following two CASE expressions is that the x expression is evaluated exactly once in the first example but might be evaluated multiple times in the second: CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END CASE WHEN x=w1 THEN r1 WHEN x=w2 THEN r2 ELSE r3 END
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-34814-22035-19752-61012-44426-48112-33201-20182</b></dt>
<dd><p>Values stored in sqlite3_value objects can be integers, floating point values, strings, BLOBs, or NULL.
<i>(source <a href="c3ref/value.html">c3ref/value.html</a>)</i></p></dd>

<dt><b>R-34816-32505-14191-41651-46944-10844-62255-46096</b></dt>
<dd><p>The xCreate and xConnect methods of a virtual table module call this interface to declare the format (the names and datatypes of the columns) of the virtual tables they implement.
<i>(source <a href="c3ref/declare_vtab.html">c3ref/declare_vtab.html</a>)</i></p></dd>

<dt><b>R-34837-12462-62420-33748-07267-00170-63881-53119</b></dt>
<dd><p>The first argument to the callback is a copy of the third argument to sqlite3_update_hook().
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-34918-27009-22149-14301-56506-15307-06517-16770</b></dt>
<dd><p>The INDEXED BY and NOT INDEXED clauses are not supported for UPDATE and DELETE statements.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-34933-01612-63826-59975-42480-58884-65014-06327</b></dt>
<dd><p>The names returned are the original un-aliased names of the database, table, and column.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-34963-21048-59232-16607-21091-43824-49294-11066</b></dt>
<dd><p>If the sqlite_sequence.seq field of an AUTOINCREMENT table is already at the largest integer value (9223372036854775807) then attempts to add new rows to that table with an automatically generated integer primary will fail with an SQLITE_FULL error.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-34979-54336-33279-53576-25867-30233-28350-04331</b></dt>
<dd><p>If the main database is ":memory:" or if the journal_mode is WAL, then transactions continue to be atomic within each individual database file. But if the host computer crashes in the middle of a COMMIT where two or more database files are updated, some of those files might get the changes where others might not.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-34998-49915-07664-55575-37059-29902-40579-47714</b></dt>
<dd><p>If the result is a UTF-8 string, then sqlite3_column_bytes16() converts the string to UTF-16 and then returns the number of bytes.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-35002-09502-01413-09334-58784-32407-44903-62982</b></dt>
<dd><p>If the threading mode is Single-thread or Multi-thread then this routine returns a NULL pointer.
<i>(source <a href="c3ref/db_mutex.html">c3ref/db_mutex.html</a>)</i></p></dd>

<dt><b>R-35003-32738-64790-42236-58307-21158-57428-12443</b></dt>
<dd><p>If X is numeric then length(X) returns the length of a string representation of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-35040-63004-09413-17967-18828-35998-50185-50384</b></dt>
<dd><p>The "weekday" modifier advances the date forward to the next date where the weekday number is N.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-35049-22776-26849-33887-63149-61153-21714-11740</b></dt>
<dd><p>The "unixepoch" modifier (11) only works if it immediately follows a timestring in the DDDDDDDDDD format.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-35088-43392-22185-31834-16686-27011-41097-22750</b></dt>
<dd><p>Shared-cache locks are released when a database connection concludes its current transaction, either by committing it or rolling it back.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-35092-12727-62894-63814-26795-55319-59085-22626</b></dt>
<dd><p>The pointers returned are valid until a type conversion occurs as described above, or until sqlite3_step() or sqlite3_reset() or sqlite3_finalize() is called.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-35109-49139-58862-12127-06342-61829-38093-58472</b></dt>
<dd><p>The number of columns in each row returned by the SELECT statement (if any) and the specific values returned have no effect on the results of the EXISTS operator.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-35129-58141-36157-07998-30656-14308-25733-01656</b></dt>
<dd><p>For example: -- Database schema CREATE TABLE parent(x PRIMARY KEY); CREATE TABLE child(y REFERENCES parent ON UPDATE SET NULL); sqlite> SELECT * FROM parent; x ---- key sqlite> SELECT * FROM child; y ---- key sqlite> -- Since the following UPDATE statement does not actually modify sqlite> -- the parent key value, the ON UPDATE action is not performed and sqlite> -- the child key value is not set to NULL. sqlite> UPDATE parent SET x = 'key'; sqlite> SELECT IFNULL(y, 'null') FROM child; y ---- key sqlite> -- This time, since the UPDATE statement does modify the parent key sqlite> -- value, the ON UPDATE action is performed and the child key is set sqlite> -- to NULL. sqlite> UPDATE parent SET x = 'key2'; sqlite> SELECT IFNULL(y, 'null') FROM child; y ---- null
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-35196-57110-30977-27033-46331-62759-56891-62679</b></dt>
<dd><p>There is a single row in the sqlite_sequence table for each ordinary table that uses AUTOINCREMENT.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-35207-17153-24168-38567-05624-25103-19340-37227</b></dt>
<dd><p>The sqlite3_wal_autocheckpoint() interface and the wal_autocheckpoint pragma can be used to cause this interface to be run whenever the WAL reaches a certain size threshold.
<i>(source <a href="c3ref/wal_checkpoint.html">c3ref/wal_checkpoint.html</a>)</i></p></dd>

<dt><b>R-35210-63508-42678-48683-05229-58965-46588-04293</b></dt>
<dd><p>The sqlite3_libversion_number() function returns an integer equal to SQLITE_VERSION_NUMBER.
<i>(source <a href="c3ref/libversion.html">c3ref/libversion.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-35229-17830-32159-37744-59002-46141-27438-26089</b></dt>
<dd><p>A string constant is formed by enclosing the string in single quotes (').
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-35268-31914-29013-65007-60500-40286-59986-01540</b></dt>
<dd><p>The value returned by sqlite3_memory_highwater(1) is the high-water mark prior to the reset.
<i>(source <a href="c3ref/memory_highwater.html">c3ref/memory_highwater.html</a>)</i></p></dd>

<dt><b>R-35272-30329-38196-23593-15037-30954-61861-19508</b></dt>
<dd><p>Columns in the result set include the column name, data type, whether or not the column can be NULL, and the default value for the column.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-35290-16460-32571-10958-08768-45451-01146-58774</b></dt>
<dd><p>Foreign key constraints are immediate by default.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-35311-10820-21037-47746-53186-51250-62481-54055</b></dt>
<dd><p>When the locking_mode pragma specifies a particular database, for example: PRAGMA main.locking_mode=EXCLUSIVE; Then the locking mode applies only to the named database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-35325-25517-01545-24178-13996-21143-53189-45296</b></dt>
<dd><p>An uncorrelated subquery is evaluated only once and the result reused as necessary.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-35362-38850-39624-46125-42742-24667-28362-39621</b></dt>
<dd><p>The BEFORE or AFTER keyword determines when the trigger actions will be executed relative to the insertion, modification or removal of the associated row.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-35371-58843-38332-21753-13618-41551-34238-06657</b></dt>
<dd><p>The ATTACH DATABASE statement adds another database file to the current database connection.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-35432-12723-65442-31241-11453-58408-64788-62219</b></dt>
<dd><p>But for the static mutex types, the same mutex is returned on every call that has the same type number.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-35443-03595-46720-21224-13105-18323-15585-18563</b></dt>
<dd><p>Ifnull() must have exactly 2 arguments.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-35460-03740-02108-04893-51916-60089-58945-40785</b></dt>
<dd><p>Registering a NULL function disables the callback.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-35460-15084-48819-65267-56905-57683-08445-26619</b></dt>
<dd><p>If X is the integer -9223372036854775807 then abs(X) throws an integer overflow error since there is no equivalent positive 64-bit two complement value.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-35466-18578-55307-04198-11840-65176-35973-23959</b></dt>
<dd><p>The column from the dataset on the left-hand side of the join operator is considered to be on the left-hand side of the comparison operator (=) for the purposes of collation sequence and affinity precedence.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-35503-60218-20246-16465-03448-36808-43658-06556</b></dt>
<dd><p>When SQLite compares two strings, it uses a collating sequence or collating function (two words for the same thing) to determine which string is greater or if the two strings are equal.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-35553-21226-59052-33659-22709-48132-34010-52118</b></dt>
<dd><p>The upper(X) function returns a copy of input string X in which all lower-case ASCII characters are converted to their upper-case equivalent.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-35578-00141-38753-46256-55352-15453-36811-08133</b></dt>
<dd><p>The ROLLBACK will fail with an error code SQLITE_BUSY if there are any pending queries.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-35620-55265-30366-61678-07542-39367-03113-47688</b></dt>
<dd><p>In first form, if the main database has already been created, then this pragma returns the text encoding used by the main database, one of "UTF-8", "UTF-16le" (little-endian UTF-16 encoding) or "UTF-16be" (big-endian UTF-16 encoding).
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-35647-22698-14151-02154-35973-15621-42359-11519</b></dt>
<dd><p>When a new database is created, SQLite assigned a default page size based on information received from the xSectorSize and xDeviceCharacteristics methods of the sqlite3_io_methods object of the newly created database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-35698-25375-34264-35367-42002-17994-39861-33131</b></dt>
<dd><p>C-style comments begin with "/*" and extend up to and including the next "*/" character pair or until the end of input, whichever comes first.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-35711-48727-49492-05161-09107-16114-44571-60110</b></dt>
<dd><p>If N or iOffset is less than zero, SQLITE_ERROR is returned and no data is read.
<i>(source <a href="c3ref/blob_read.html">c3ref/blob_read.html</a>)</i></p></dd>

<dt><b>R-35739-57436-25800-46947-32358-09819-57778-06393</b></dt>
<dd><p>The sqlite3_errmsg() or sqlite3_errmsg16() routines can be used to obtain an English language description of the error following a failure of any of the sqlite3_open() routines.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-35743-17022-41139-35720-26988-59582-39883-26611</b></dt>
<dd><p>This option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. SQLite copies of the current page cache implementation into that object.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-35764-28041-14003-29144-25311-37428-61666-13825</b></dt>
<dd><p>The result of the expression is the value of the only column in the first row returned by the SELECT statement.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-35765-61623-59690-19582-04854-45693-22489-08520</b></dt>
<dd><p>Only a single progress handler may be defined at one time per database connection; setting a new progress handler cancels the old one.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-35802-14059-47020-23527-06222-22948-08783-35470</b></dt>
<dd><p>Nor is the update hook invoked when rows are deleted using the truncate optimization.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-35812-46755-23531-40873-62145-48640-15024-41940</b></dt>
<dd><p>The default journal size limit is -1 (no limit).
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-35840-33204-13129-04501-28754-46758-55672-28059</b></dt>
<dd><p>If URI filename interpretation is enabled, and the filename argument begins with "file:", then the filename is interpreted as a URI.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-35856-58769-58714-05667-00872-44195-43278-26599</b></dt>
<dd><p>However if an ON CONFLICT clause is specified as part of the statement causing the trigger to fire, then conflict handling policy of the outer statement is used instead.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-35865-29619-35015-08784-17694-42068-56782-50747</b></dt>
<dd><p>This interface is used to retrieve runtime status information about a single database connection.
<i>(source <a href="c3ref/db_status.html">c3ref/db_status.html</a>)</i></p></dd>

<dt><b>R-35880-12325-57817-26418-36971-18732-46777-12474</b></dt>
<dd><p>For the index above and WHERE clause like this: ... WHERE b IN (1,2,3) AND c NOT NULL AND d='hello' The index is not usable at all because the left-most column of the index (column "a") is not constrained.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-35921-30782-30597-38751-45197-16333-41298-65365</b></dt>
<dd><p>If SQLite has not been initialized using sqlite3_initialize() prior to invoking sqlite3_complete16() then sqlite3_initialize() is invoked automatically by sqlite3_complete16(). If that initialization fails, then the return value from sqlite3_complete16() will be non-zero regardless of whether or not the input SQL is complete.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-36018-21755-34988-08386-62029-36954-65009-29361</b></dt>
<dd><p>The parent key definitions of foreign key constraints are not checked when a table is created.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-36040-20870-02674-16594-11243-04854-63578-01477</b></dt>
<dd><p>If no column-list is specified then the number of values must be the same as the number of columns in the table.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-36097-50928-12790-61017-20060-26535-57569-32056</b></dt>
<dd><p>SQLite implements this interface by calling the xSleep() method of the default sqlite3_vfs object.
<i>(source <a href="c3ref/sleep.html">c3ref/sleep.html</a>)</i></p></dd>

<dt><b>R-36106-21007-52258-21932-23201-34100-21259-49882</b></dt>
<dd><p>The behavior is undefined if the mutex is not currently entered by the calling thread or is not currently allocated. SQLite will never do either.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-36195-31555-35544-12860-62754-30693-28143-39954</b></dt>
<dd><p>The usual INSERT, UPDATE, and DELETE commands work on an R*Tree index just like on regular tables.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-36207-45800-36494-05185-06408-25656-62834-28052</b></dt>
<dd><p>The INDEXED BY phrase always follows the name of a table that SQLite will be reading.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-36239-04077-08470-54931-40517-19628-02448-15955</b></dt>
<dd><p>The scalar expressions may refer to columns of the row being updated.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-36265-51196-56439-27074-26615-17035-18675-11586</b></dt>
<dd><p>All mathematical operators (+, -, *, /, %, <<, >>, &, and |) cast both operands to the NUMERIC storage class prior to being carried out.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-36327-17224-30714-13238-62239-10610-34314-51642</b></dt>
<dd><p>If a result expression is the special expression "*" then all columns in the input data are substituted for that one expression.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-36328-16367-14145-21377-30808-40796-28392-26990</b></dt>
<dd><p>In that case, the database connection remains in EXCLUSIVE mode as long as the journal mode is WAL; attempts to change the locking mode using "PRAGMA locking_mode=NORMAL;" are no-ops.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-36338-64112-59318-08203-11484-65439-59164-45202</b></dt>
<dd><p>If one or more ON INSERT, ON DELETE or ON UPDATE triggers are defined on a view, then it is not an error to execute an INSERT, DELETE or UPDATE statement on the view, respectively.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-36394-12461-27768-64371-31765-36302-25885-56308</b></dt>
<dd><p>SQLite will always use the table b-tree key rather than the NULL value when referencing the INTEGER PRIMARY KEY column.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-36399-45840-38419-49366-05932-18953-07682-47549</b></dt>
<dd><p>SQLITE_STATUS_PAGECACHE_USED This parameter returns the number of pages used out of the pagecache memory allocator that was configured using SQLITE_CONFIG_PAGECACHE. The value returned is in pages, not in bytes.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-36476-47203-56638-47160-44339-35126-05623-44628</b></dt>
<dd><p>A string might look like a floating-point literal with a decimal point and/or exponent notation but as long as the value can be expressed as an integer, the NUMERIC affinity will convert it into an integer.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-36545-62345-61603-06376-33533-12580-59655-26356</b></dt>
<dd><p>The value returned by sqlite3_backup_finish is SQLITE_OK if no sqlite3_backup_step() errors occurred, regardless or whether or not sqlite3_backup_step() completed.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-36570-50350-22690-62620-40069-12741-59912-39682</b></dt>
<dd><p>Transactions can be started manually using the BEGIN command.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-36608-10930-24220-22579-46351-14737-62834-54918</b></dt>
<dd><p>The arguments can be just about any text as long as it has balanced parentheses.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-36610-45292-54097-28024-65527-46641-42678-27744</b></dt>
<dd><p>The sqlite3_snprintf() routine is similar to "snprintf()" from the standard C library. The result is written into the buffer supplied as the second parameter whose size is given by the first parameter. Note that the order of the first two parameters is reversed from snprintf().
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-36620-34941-18970-44416-30193-42757-18271-60128</b></dt>
<dd><p>The secure-delete setting for newly attached databases is the setting of the main database at the time the ATTACH command is evaluated.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-36651-49821-06866-46556-29729-37304-36967-33618</b></dt>
<dd><p>Note that the name length limit is in UTF-8 bytes, not characters nor UTF-16 bytes.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-36683-37460-43350-37564-45639-65227-52319-20851</b></dt>
<dd><p><img src="images/syntax/join-op.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-36697-25556-10113-60762-16879-48954-19862-42086</b></dt>
<dd><p>The third through sixth parameters to the callback are zero-terminated strings that contain additional details about the action to be authorized.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-36754-20545-04159-27572-44208-64137-08044-49180</b></dt>
<dd><p>Strings with embedded NUL characters cannot be represented as string literals in SQL and hence the returned string literal is truncated prior to the first NUL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-36771-43788-02791-24277-51964-58842-02729-58792</b></dt>
<dd><p>In other words, the database-name. prefix on the table name is not allowed within triggers.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-36822-49898-51267-28801-22242-39926-43860-26511</b></dt>
<dd><p>In many pragmas, the argument is a boolean. The boolean can be one of: 1 yes true on0 no false off
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-36834-48950-59089-31267-28729-41659-26952-44127</b></dt>
<dd><p>On the other hand, the virtual terms themselves never causes tests to be performed on input rows.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-36859-05333-15357-38800-46653-01342-64657-49103</b></dt>
<dd><p>SQLite guarantees that the zFilename parameter to xOpen is either a NULL pointer or string obtained from xFullPathname() with an optional suffix added.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-36994-20318-04731-18352-40957-64726-24710-37361</b></dt>
<dd><p>When faced with the choice of using an index to satisfy WHERE clause constraints or satisfying an ORDER BY clause, SQLite does the same work analysis described above and chooses the index that it believes will result in the fastest answer.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-36996-21017-11130-54775-34081-21546-00217-47155</b></dt>
<dd><p>If the fifth argument has the value SQLITE_TRANSIENT, then SQLite makes its own private copy of the data immediately, before the sqlite3_bind_*() routine returns.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-37014-01401-21089-17070-29691-04562-53032-12534</b></dt>
<dd><p>The ATTACH and DETACH statements also cause sqlite3_stmt_readonly() to return true since, while those statements change the configuration of a database connection, they do not make changes to the content of the database files on disk.
<i>(source <a href="c3ref/stmt_readonly.html">c3ref/stmt_readonly.html</a>)</i></p></dd>

<dt><b>R-37019-57602-33488-54627-46176-35899-62282-07201</b></dt>
<dd><p>Nor does REPLACE increment the change counter.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-37051-49391-21174-04435-43019-60258-26390-24659</b></dt>
<dd><p>The available modifiers are as follows. NNN days NNN hours NNN minutes NNN.NNNN seconds NNN months NNN years start of month start of year start of day weekday N unixepoch localtime utc
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-37099-37053-38363-03939-37447-24344-49731-34436</b></dt>
<dd><p>Similarly, if URI filenames are not recognized when the database connection is first opened, they will not be recognized by ATTACH.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-37111-22855-42072-00494-43554-65197-44250-55427</b></dt>
<dd><p>The declared type of each column is determined by the expression affinity of the corresponding expression in the result set of the SELECT statement, as follows: Expression Affinity Column Declared Type TEXT "TEXT" NUMERIC "NUM" INTEGER "INT" REAL "REAL" NONE "" (empty string)
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-37127-14782-63396-43128-39237-20363-34771-13214</b></dt>
<dd><p>A call to this routine stores N bytes of randomness into buffer P.
<i>(source <a href="c3ref/randomness.html">c3ref/randomness.html</a>)</i></p></dd>

<dt><b>R-37232-20039-05532-30896-07338-63444-33652-31252</b></dt>
<dd><p>UNIQUE and PRIMARY KEY constraints on tables cause SQLite to create internal indices with names of the form "sqlite_autoindex_TABLE_N" where TABLE is replaced by the name of the table that contains the constraint and N is an integer beginning with 1 and increasing by one with each constraint seen in the table definition.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-37265-56925-55777-11363-20675-46285-52171-25062</b></dt>
<dd><p>For conversions between TEXT and REAL storage classes, SQLite considers the conversion to be lossless and reversible if the first 15 significant decimal digits of the number are preserved.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-37271-65264-45647-61848-25356-06624-30160-41691</b></dt>
<dd><p>Compute the current unix timestamp. SELECT strftime('%s','now');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-37283-61388-33413-37250-53520-10226-00265-15596</b></dt>
<dd><p>All these names are aliases for one another and work equally well in any context.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-37284-06965-27563-13787-56362-60751-57097-13652</b></dt>
<dd><p>If the DELETE statement has no ORDER BY clause, then all rows that would be deleted in the absence of the LIMIT clause are assembled in an arbitrary order before applying the LIMIT and OFFSET clauses to determine the subset that are actually deleted.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-37286-42536-47612-10625-41273-62615-36449-24349</b></dt>
<dd><p>/* Add a table named 't1' to the temp, main and an attached database */ ATTACH 'file.db' AS aux; CREATE TABLE t1(x, y); CREATE TEMP TABLE t1(x, y); CREATE TABLE aux.t1(x, y); DROP TABLE t1; /* Drop table in temp database */ DROP TABLE t1; /* Drop table in main database */ DROP TABLE t1; /* Drop table in aux database */
<i>(source <a href="lang_naming.html">lang_naming.html</a>, checked-by: tcl/e_resolve.test)</i></p></dd>

<dt><b>R-37287-38238-38896-00540-17030-60706-04523-55035</b></dt>
<dd><p>The column may not have a default value of CURRENT_TIME, CURRENT_DATE, CURRENT_TIMESTAMP, or an expression in parentheses.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-37304-39405-25413-14317-50314-46541-26352-18136</b></dt>
<dd><p>If the base expression is NULL then the result of the CASE is always the result of evaluating the ELSE expression if it exists, or NULL if it does not.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-37338-25090-02456-18897-36801-31063-06233-22705</b></dt>
<dd><p>The sqlite3_result_double() interface sets the result from an application-defined function to be a floating point value specified by its 2nd argument.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-37342-04007-10606-64148-39195-51101-42464-04051</b></dt>
<dd><p>The index value returned is suitable for use as the second parameter to sqlite3_bind().
<i>(source <a href="c3ref/bind_parameter_index.html">c3ref/bind_parameter_index.html</a>)</i></p></dd>

<dt><b>R-37348-06800-27428-45095-32676-47345-13290-00044</b></dt>
<dd><p>Each SCAN or SEARCH record includes the following information: The name of the table data is read from. Whether or not an index or automatic index is used. Whether or not the covering index optimization applies. Which terms of the WHERE clause are used for indexing. The estimated number of rows that SQLite will visit.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-37412-09436-16826-17483-13770-41037-63628-17339</b></dt>
<dd><p>Either modification causes the SQL statement to behave as a query and to return information about how the SQL statement would have operated if the EXPLAIN keyword or phrase had been omitted.
<i>(source <a href="lang_explain.html">lang_explain.html</a>)</i></p></dd>

<dt><b>R-37434-19929-01541-26191-03532-28681-18224-01267</b></dt>
<dd><p>Abs(X) returns NULL if X is NULL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-37497-42412-17450-21022-09662-57031-07761-02196</b></dt>
<dd><p>The size of the reserved region is determined by the one-byte unsigned integer found at an offset of 20 into the database file header.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-37514-35566-00640-25084-57688-04377-16048-30214</b></dt>
<dd><p>A value of 1 means UTF-8.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-37639-55938-19671-37883-10811-32762-31289-05215</b></dt>
<dd><p>This interfaces opens a handle to the BLOB located in row iRow, column zColumn, table zTable in database zDb; in other words, the same BLOB that would be selected by: SELECT zColumn FROM zDb.zTable WHERE rowid = iRow;
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-37688-43700-53103-62151-49236-10303-34051-45197</b></dt>
<dd><p>Use the sqlite3_blob_bytes() interface to determine the size of the opened blob.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-37736-42616-04169-53390-00856-45033-53695-63004</b></dt>
<dd><p>If a COMMIT statement (or the RELEASE of a transaction SAVEPOINT) fails because the database is currently in a state that violates a deferred foreign key constraint and there are currently nested savepoints, the nested savepoints remain open.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-37773-10272-55463-21527-23891-50096-65319-03368</b></dt>
<dd><p>For a table or view, the tbl_name column is a copy of the name column.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-37783-42715-27194-59163-53660-14941-49401-50024</b></dt>
<dd><p>Any %HH escape sequences in the query parameters are resolved prior to being appended to the xOpen filename.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-37795-21752-00915-21672-38602-04515-27824-24579</b></dt>
<dd><p>The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a function with a call signature of void(*)(void*,int,const char*), and a pointer to void.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-37808-62273-24906-47503-60125-44409-00514-33279</b></dt>
<dd><p>Note that triggers are automatically dropped when the associated table is dropped.
<i>(source <a href="lang_droptrigger.html">lang_droptrigger.html</a>, checked-by: tcl/e_droptrigger.test)</i></p></dd>

<dt><b>R-37810-60222-47752-18821-24220-18386-52831-63855</b></dt>
<dd><p>Compute the number of seconds since a particular moment in 2004: SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-37812-47407-44151-24694-62524-58711-37886-57014</b></dt>
<dd><p>Once an encoding has been set for a database, it cannot be changed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-37910-23168-39063-40634-50772-23998-34303-02455</b></dt>
<dd><p>The sqlite_version() function returns the version string for the SQLite library that is running.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-37916-47407-25841-44869-57866-03917-48046-05809</b></dt>
<dd><p>The MATCH operator is a special syntax for the match() application-defined function.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-37997-42187-51725-59091-37072-50205-56712-26602</b></dt>
<dd><p>The difference between the effect of a RESTRICT action and normal foreign key constraint enforcement is that the RESTRICT action processing happens as soon as the field is updated - not at the end of the current statement as it would with an immediate constraint, or at the end of the current transaction as it would with a deferred constraint.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-38001-03952-19465-11266-52684-12379-01508-27794</b></dt>
<dd><p>VACUUM only works on the main database. It is not possible to VACUUM an attached database file.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-38041-14597-46944-18257-28355-58230-62762-00771</b></dt>
<dd><p>At most integer errors will be reported before the analysis quits.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-38061-31091-04513-48389-43218-44173-18039-63201</b></dt>
<dd><p>An implicit transaction (a transaction that is started automatically, not a transaction started by BEGIN) is committed automatically when the last active statement finishes. A statement finishes when its prepared statement is reset or finalized. An open sqlite3_blob used for incremental BLOB I/O counts as an unfinished statement. The sqlite3_blob finishes when it is closed.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-38083-64261-20639-49699-39897-18481-13344-23243</b></dt>
<dd><p>In other words, calls to xUnpin() on a cache with bPurgeable set to false will always have the "discard" flag set to true.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-38091-32352-01038-12567-23855-46288-57631-62410</b></dt>
<dd><p>The maximum parameter number is set at compile-time by the SQLITE_MAX_VARIABLE_NUMBER macro.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-38128-34102-03228-01716-42650-19152-18652-04810</b></dt>
<dd><p>The sqlite3_wal_autocheckpoint(D,N) is a wrapper around sqlite3_wal_hook() that causes any database on database connection D to automatically checkpoint after committing a transaction if there are N or more frames in the write-ahead log file.
<i>(source <a href="c3ref/wal_autocheckpoint.html">c3ref/wal_autocheckpoint.html</a>)</i></p></dd>

<dt><b>R-38176-56274-44779-06953-35503-33902-10868-27976</b></dt>
<dd><p>In a database with ptrmap pages, the first ptrmap page is page 2.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-38200-45242-44126-59333-52626-62279-09263-45295</b></dt>
<dd><p>The sqlite3_load_extension() interface returns SQLITE_OK on success and SQLITE_ERROR if something goes wrong.
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-38219-53002-00313-45584-37253-57007-40981-19888</b></dt>
<dd><p>If no unused ROWID can be found after a reasonable number of attempts, the insert operation fails with an SQLITE_FULL error.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/vdbe.c)</i></p></dd>

<dt><b>R-38231-04283-23015-05260-16076-53485-61686-35085</b></dt>
<dd><p><img src="images/syntax/pragma-stmt.gif"><br>
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-38242-53217-63508-42050-45799-27349-00700-51305</b></dt>
<dd><p>"SEARCH" indicates that only a subset of the table rows are visited.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-38255-01123-17984-58641-36613-29376-16056-55612</b></dt>
<dd><p>If the filename is ":memory:", then a private, temporary in-memory database is created for the connection.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-38260-37719-07465-52549-18983-56456-60761-04524</b></dt>
<dd><p>The VFS is required to either truncate or zero the header of the wal-index when the last connection to it closes.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-38280-09593-30369-45602-60348-43330-18334-07571</b></dt>
<dd><p>After at least "ms" milliseconds of sleeping, the handler returns 0 which causes sqlite3_step() to return SQLITE_BUSY or SQLITE_IOERR_BLOCKED.
<i>(source <a href="c3ref/busy_timeout.html">c3ref/busy_timeout.html</a>)</i></p></dd>

<dt><b>R-38293-42495-20916-29854-03664-36898-47028-10197</b></dt>
<dd><p>Prior savepoints, even savepoints with matching savepoint-names, are unchanged.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-38301-00721-48932-04797-00505-10966-18723-46077</b></dt>
<dd><p>This option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The sqlite3_mem_methods structure is filled with the currently defined memory allocation routines.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-38308-24406-60432-36844-44723-02085-25022-07693</b></dt>
<dd><p>SQLite attempts to use an index to satisfy the ORDER BY clause of a query when possible.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-38336-05023-13605-39367-03302-30111-01531-40111</b></dt>
<dd><p>Hence explicitly specifying FOR EACH ROW is optional.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-38341-46511-60647-36550-00452-63449-13223-34323</b></dt>
<dd><p>The subquery does not use aggregates or the outer query does not use LIMIT.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-38392-49970-12862-30349-17432-31139-60846-54763</b></dt>
<dd><p>If the action code is SQLITE_READ and the callback returns SQLITE_IGNORE then the prepared statement statement is constructed to substitute a NULL value in place of the table column that would have been read if SQLITE_OK had been returned.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-38451-09192-26052-24924-43013-39485-54924-09528</b></dt>
<dd><p>For TEMP tables, the database name is "temp".
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-38462-47168-00802-29232-37957-12454-50485-62719</b></dt>
<dd><p>The number of system calls for filesystem operations is reduced, possibly resulting in a small performance increase.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-38469-41807-12081-19845-13469-50948-11932-49175</b></dt>
<dd><p>If it is not NULL, SQLite will invoke the destructor function given by the 4th parameter to sqlite3_set_auxdata() on the metadata when the corresponding function parameter changes or when the SQL statement completes, whichever comes first.
<i>(source <a href="c3ref/get_auxdata.html">c3ref/get_auxdata.html</a>)</i></p></dd>

<dt><b>R-38470-19236-05585-14334-15897-63539-60552-16628</b></dt>
<dd><p>As with all other SQLite APIs, those whose names end with "16" return UTF-16 encoded strings and the other functions return UTF-8.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-38485-20010-44949-34877-39366-11397-10597-42284</b></dt>
<dd><p>If a table contains a column of type INTEGER PRIMARY KEY, then that column becomes an alias for the ROWID.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-38513-43475-55678-22086-42456-40584-55564-45510</b></dt>
<dd><p>A call to xRelease(X,M) invalidates all savepoints where N>=M.
<i>(source <a href="vtab.html">vtab.html</a>)</i></p></dd>

<dt><b>R-38515-45264-03335-50980-08297-28344-12265-07348</b></dt>
<dd><p>An UPDATE statement is used to modify a subset of the values stored in zero or more rows of the database table identified by the qualified-table-name specified as part of the UPDATE statement.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-38536-04510-23157-49681-06132-47285-44686-09674</b></dt>
<dd><p>The quote(X) function returns the text of an SQL literal which is the value of its argument suitable for inclusion into an SQL statement.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-38577-07276-49824-55947-21917-12317-50155-56118</b></dt>
<dd><p>If the query string is present, then all query parameters are passed through into the xOpen method of the underlying VFS.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-38590-62769-37174-11350-15307-56847-39156-23447</b></dt>
<dd><p>The first parameter to the authorizer callback is a copy of the third parameter to the sqlite3_set_authorizer() interface.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-38595-30726-57286-21229-43510-46199-10154-57516</b></dt>
<dd><p>If the value N is out of range or if the N-th parameter is nameless, then NULL is returned.
<i>(source <a href="c3ref/bind_parameter_name.html">c3ref/bind_parameter_name.html</a>)</i></p></dd>

<dt><b>R-38620-19499-44951-35069-39820-53253-57753-11041</b></dt>
<dd><p>In a CASE with a base expression, the base expression is evaluated just once and the result is compared against the evaluation of each WHEN expression from left to right.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-38631-09167-64430-21786-18965-57371-16775-28797</b></dt>
<dd><p>The "NOT INDEXED" clause specifies that no index shall be used when accessing the preceding table, including implied indices create by UNIQUE and PRIMARY KEY constraints. However, the INTEGER PRIMARY KEY can still be used to look up entries even when "NOT INDEXED" is specified.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-38703-23957-40779-17616-06734-29926-07107-33116</b></dt>
<dd><p>Calling sqlite3_exec() or sqlite3_step() recursively does not create a new trigger context.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-38733-58637-45405-53712-01337-38389-24626-21824</b></dt>
<dd><p>This error code promotion forces an automatic rollback of the changes.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-38735-12540-01712-42619-26101-33703-41022-22731</b></dt>
<dd><p>As of SQLite version 3.1, an alternative to using the VACUUM command to reclaim space after data has been deleted is auto-vacuum mode, enabled using the auto_vacuum pragma.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-38759-38789-04186-61984-59919-00444-32947-07826</b></dt>
<dd><p>Operators IS and IS NOT have the same precedence as =.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-38787-59790-48915-64090-33059-22783-12299-30230</b></dt>
<dd><p>If the SQLITE_FCNTL_PRAGMA file control returns SQLITE_NOTFOUND, then normal PRAGMA processing continues.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-38828-57497-43339-57489-42530-28213-54283-40875</b></dt>
<dd><p>When a SAVEPOINT is the outer-most savepoint and it is not within a BEGIN...COMMIT then the behavior is the same as BEGIN DEFERRED TRANSACTION.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-38841-33525-61370-32823-20999-44685-25709-53990</b></dt>
<dd><p>Application code is allowed to modify the sqlite_sequence table, to add new rows, to delete rows, or to modify existing rows.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-38854-22809-21718-24832-56511-15160-58520-63196</b></dt>
<dd><p>sqlite> CREATE INDEX i4 ON t2(c); sqlite> EXPLAIN QUERY PLAN SELECT c, d FROM t2 ORDER BY c; 0|0|0|SCAN TABLE t2 USING INDEX i4 (~1000000 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-38914-26427-29082-17331-29986-21952-39833-10934</b></dt>
<dd><p>The total_changes() function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the current database connection was opened.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-38971-13593-63134-41706-45438-37598-45923-53388</b></dt>
<dd><p>Note that a declared type of "FLOATING POINT" would give INTEGER affinity, not REAL affinity, due to the "INT" at the end of "POINT".
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-38973-52184-38987-24216-42448-05561-19819-59369</b></dt>
<dd><p>If the optional ESCAPE clause is present, then the like() function is invoked with three arguments.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-38980-08445-54197-34551-31600-64664-60502-04654</b></dt>
<dd><p>NOCASE does not implement a general purpose unicode caseless comparison.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-38989-21359-13709-49366-18905-24783-41677-06526</b></dt>
<dd><p>The szExtra parameter will a number less than 250.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-39007-61103-30910-33462-31784-00148-35571-18839</b></dt>
<dd><p>sqlite> CREATE INDEX i3 ON t1(b); sqlite> EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=1 OR b=2; 0|0|0|SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) (~10 rows) 0|0|0|SEARCH TABLE t1 USING INDEX i3 (b=?) (~10 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-39009-25596-33829-41361-38484-11658-48369-57903</b></dt>
<dd><p>The result of the CASE expression is the evaluation of the THEN expression that corresponds to the first WHEN expression that evaluates to true.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-39020-65330-19381-32057-25425-01859-32299-49676</b></dt>
<dd><p>The COLLATE clause of the column definition is used to define alternative collating functions for a column.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-39051-42271-46025-06225-43154-22193-07696-21282</b></dt>
<dd><p>The second form attempts to modify the maximum page count.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39073-45389-04336-35554-15796-29115-57398-44032</b></dt>
<dd><p>If M is -1 in the initial journal header, then the number of page records that follow is computed by computing how many page records will fit in the available space of the remainder of the journal file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-39086-42574-52066-34566-03603-26293-15630-13712</b></dt>
<dd><p>The third argument to xCreate(), bPurgeable, is true if the cache being created will be used to cache database pages of a file stored on disk, or false if it is used for an in-memory database.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-39088-19376-30403-42071-52241-63734-59003-40185</b></dt>
<dd><p>The sqlite3_value object returned by sqlite3_column_value() is unprotected.
<i>(source <a href="c3ref/value.html">c3ref/value.html</a>)</i></p></dd>

<dt><b>R-39089-10219-02970-26628-53332-63736-48500-08755</b></dt>
<dd><p>The s1 value spans all 32-bit integer terms of the sequence whereas s0 omits the final term.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-39102-06737-24985-23293-11650-43037-27447-02296</b></dt>
<dd><p>If an INSERT or UPDATE statement attempts to modify the table content so that two or more rows feature identical primary key values, it is a constraint violation.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-39150-60222-54489-42043-19266-00482-07233-17932</b></dt>
<dd><p>On a cache where bPurgeable is false, SQLite will never invoke xUnpin() except to deliberately delete a page.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-39195-30238-53519-57204-01366-19450-10206-11311</b></dt>
<dd><p>Each SQL index, whether explicitly declared via a CREATE INDEX statement or implied by a UNIQUE constraint, corresponds to an index b-tree in the database file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-39221-43493-49031-48260-11050-48204-23096-55403</b></dt>
<dd><p>The sqlite3_mutex_leave() routine exits a mutex that was previously entered by the same thread.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-39231-33076-05727-00102-39639-63072-44132-27548</b></dt>
<dd><p>The string literal must not begin with a wildcard; if the right-hand side begins with a wildcard character then this optimization is attempted.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-39265-04070-30004-05781-22531-14920-64985-48690</b></dt>
<dd><p>If no matching expression can be found in the result columns of any constituent SELECT, it is an error.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-39267-61563-33014-32733-63659-35111-46114-30200</b></dt>
<dd><p>PRAGMA page_count; Return the total number of pages in the database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39269-29928-36357-12002-42710-02565-26398-36645</b></dt>
<dd><p>If write-ahead log is disabled, this pragma is a harmless no-op.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39279-48828-00404-43812-37996-18739-13104-15317</b></dt>
<dd><p>The order of values in the record is the same as the order of columns in the SQL table definition.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-39306-34499-18719-46784-37464-42022-47591-11853</b></dt>
<dd><p><img src="images/syntax/numeric-literal.gif"><br>
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-39332-27982-27049-48904-10655-02053-00990-04758</b></dt>
<dd><p>The subquery does not use LIMIT or the outer query does not use aggregates.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-39344-59787-27284-27797-42731-63207-63468-60655</b></dt>
<dd><p>For example: X'53514C697465'
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-39350-14264-06804-50075-43758-39518-52551-62265</b></dt>
<dd><p>These routines open an SQLite database file as specified by the filename argument.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-39368-64333-53302-20010-22332-46980-48834-46750</b></dt>
<dd><p>In a compound SELECT, all the constituent SELECTs must return the same number of result columns.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-39412-46882-37101-45160-49245-06434-49198-35151</b></dt>
<dd><p>An application-defined function is permitted to call other SQLite interfaces.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-39414-35489-25303-10592-22636-36530-45454-18784</b></dt>
<dd><p>The infix GLOB operator is implemented by calling the function glob(Y,X) and can be modified by overriding that function.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-39448-56079-43024-42660-00434-04264-13777-54050</b></dt>
<dd><p>The filename argument sqlite3_open16() is converted from UTF16 native byte order into UTF8 prior to processing.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-39456-25960-61970-07605-46947-47119-46570-46917</b></dt>
<dd><p>To convert the results of an SQL expression to a boolean value, SQLite first casts the result to a NUMERIC value in the same way as a CAST expression. A NULL or zero value (integer value 0 or real value 0.0) is considered to be false. All other values are considered true.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-39464-12723-18801-15682-15503-09131-15880-06935</b></dt>
<dd><p>The return value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-39464-36566-10218-24417-22703-07867-12954-27805</b></dt>
<dd><p>The first time the database is written, an exclusive lock is obtained and held.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39556-50570-30565-00761-35102-37425-01790-22325</b></dt>
<dd><p>The progress handler is also disabled by setting N to a value less than 1.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-39564-36305-13838-22783-16141-24782-64457-11535</b></dt>
<dd><p>The sqlite_compileoption_used() SQL function is a wrapper around the sqlite3_compileoption_used() C/C++ function.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-39578-54133-12312-25444-39025-43860-65200-11026</b></dt>
<dd><p>The SQLITE_FCNTL_OVERWRITE opcode is invoked by SQLite after opening a write transaction to indicate that, unless it is rolled back for some reason, the entire database file will be overwritten by the current transaction.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-39608-49000-51968-24842-19070-08094-34539-25072</b></dt>
<dd><p>This pragma sets or queries the database connection locking-mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39614-35715-21681-03013-09842-54185-10366-26621</b></dt>
<dd><p>When the WHERE is omitted from a DELETE statement and the table being deleted has no triggers, SQLite uses an optimization to erase the entire table content without having to visit each row of the table individually.
<i>(source <a href="lang_delete.html">lang_delete.html</a>)</i></p></dd>

<dt><b>R-39616-20555-02533-15918-45822-50476-08959-13235</b></dt>
<dd><p>Both GLOB and LIKE may be preceded by the NOT keyword to invert the sense of the test.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-39618-23133-00956-24239-08311-25501-36268-36512</b></dt>
<dd><p>If the page_size pragma is used to specify a new page size just prior to running the VACUUM command and if the database is not in WAL journal mode then VACUUM will change the page size to the new value.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39625-59133-51160-16821-08966-29861-61919-63168</b></dt>
<dd><p>A USING or ON clause may not be added to a join that specifies the NATURAL keyword.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-39686-09170-04857-28511-29699-61322-31549-05185</b></dt>
<dd><p>Six static mutexes are used by the current version of SQLite.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-39692-12488-54491-44352-04912-13609-39585-46004</b></dt>
<dd><p>Deferred foreign key constraints are not checked until the transaction tries to COMMIT.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-39719-17021-25795-58953-42832-28593-26146-38577</b></dt>
<dd><p>The sqlite3_commit_hook(D,C,P) and sqlite3_rollback_hook(D,C,P) functions return the P argument from the previous call of the same function on the same database connection D, or NULL for the first call for each function on D.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-39746-16618-18331-39876-26719-11435-38479-45574</b></dt>
<dd><p>It is not possible to change the text encoding of a database after it has been created and any attempt to do so will be silently ignored.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-39820-63916-52284-08869-62783-08328-31879-24797</b></dt>
<dd><p><img src="images/syntax/raise-function.gif"><br>
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-39822-07822-55219-05739-15484-26699-12744-24448</b></dt>
<dd><p>In this case the new table is created in the named database.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-39822-14939-20605-05288-51207-58465-58259-08970</b></dt>
<dd><p>If the transaction has already been rolled back automatically by the error response, then the ROLLBACK command will fail with an error, but no harm is caused by this.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-39910-14723-21123-44064-38823-12161-58690-10248</b></dt>
<dd><p>A comma (",") is used as the separator if Y is omitted.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-39953-32650-33822-21964-37555-46603-34734-31598</b></dt>
<dd><p>Note that calling sqlite3_busy_timeout() will also set or clear the busy handler.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-40026-10531-12029-61961-20483-43769-01249-19476</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option, then the syntax of the DELETE statement is extended by the addition of optional ORDER BY and LIMIT clauses:
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-40045-04159-18257-36948-62852-01097-02415-08499</b></dt>
<dd><p>SQLite ensures that *pzErrMsg is NULL before calling the xEntryPoint().
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-40079-54503-52433-22063-65278-03713-13772-01502</b></dt>
<dd><p>The BETWEEN operator is logically equivalent to a pair of comparisons. "x BETWEEN y AND z" is equivalent to "x>=y AND x<=z" except that with BETWEEN, the x expression is only evaluated once.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-40080-57388-03533-29871-29950-16728-34071-16269</b></dt>
<dd><p>The estimatedCost value is an estimate of the cost of doing the particular lookup.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-40123-37571-51972-63569-14797-25863-34192-34067</b></dt>
<dd><p>PRAGMA writable_schema = boolean; When this pragma is on, the SQLITE_MASTER tables in which database can be changed using ordinary UPDATE, INSERT, and DELETE statements.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-40134-11040-10708-03922-57956-18242-63459-36005</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_ENABLE_STAT3 option, then additional histogram data is collected and stored in sqlite_stat3.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-40137-26050-25715-27051-43009-42599-25608-04347</b></dt>
<dd><p>If the mode option is set to "rw", then the database is opened for read-write (but not create) access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had been set.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-40197-14811-29578-36290-28063-57666-21739-57478</b></dt>
<dd><p>The dropped table is completely removed from the database schema and the disk file.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-40212-32858-03884-52961-15925-53384-61113-63305</b></dt>
<dd><p>Therefore, auto-vacuuming must be turned on before any tables are created.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-40228-05483-58480-12139-54798-33124-01021-28688</b></dt>
<dd><p>When this flag is on, new SQLite databases are created in a file format that is readable and writable by all versions of SQLite going back to 3.0.0.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-40235-17052-28075-57665-18059-48204-40601-49682</b></dt>
<dd><p>The update hook is not invoked for rows that are deleted by the REPLACE conflict resolution strategy.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-40244-56906-37355-29196-11093-05053-42353-15016</b></dt>
<dd><p>If the 5th parameter to sqlite3_exec() is not NULL and no errors occur, then sqlite3_exec() sets the pointer in its 5th parameter to NULL before returning.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-40266-43440-47498-36146-03230-38014-28903-04203</b></dt>
<dd><p>Whenever the database schema changes, the statement must be reprepared.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-40275-54363-02570-13891-25879-32462-51713-20144</b></dt>
<dd><p>If no COLLATE clause is specified, the default collation sequence is BINARY.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-40298-31327-08313-07924-25737-24102-08430-39905</b></dt>
<dd><p>The LIKE optimization might occur if the column named on the left of the operator is indexed using the built-in BINARY collating sequence and case_sensitive_like is turned on. Or the optimization might occur if the column is indexed using the built-in NOCASE collating sequence and the case_sensitive_like mode is off. These are the only two combinations under which LIKE operators will be optimized.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-40318-26723-38949-62709-27455-61275-20452-62962</b></dt>
<dd><p>BLOB values (even serial types 12 and larger) sort last and in the order determined by memcmp().
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-40355-56314-02785-21892-27630-10277-00128-03405</b></dt>
<dd><p>When the callback is invoked, the first argument passed is a copy of the second argument to sqlite3_collation_needed() or sqlite3_collation_needed16(). The second argument is the database connection. The third argument is one of SQLITE_UTF8, SQLITE_UTF16BE, or SQLITE_UTF16LE, indicating the most desirable form of the collation sequence function required. The fourth parameter is the name of the required collation sequence.
<i>(source <a href="c3ref/collation_needed.html">c3ref/collation_needed.html</a>)</i></p></dd>

<dt><b>R-40361-64162-53893-43519-22401-31532-23705-29102</b></dt>
<dd><p>Autocommit mode is on by default.
<i>(source <a href="c3ref/get_autocommit.html">c3ref/get_autocommit.html</a>)</i></p></dd>

<dt><b>R-40383-06816-10485-50532-53566-05766-27128-48276</b></dt>
<dd><p>The sqlite3_compileoption_used() function returns 0 or 1 indicating whether the specified option was defined at compile time.
<i>(source <a href="c3ref/compileoption_get.html">c3ref/compileoption_get.html</a>)</i></p></dd>

<dt><b>R-40390-09039-54106-21086-56168-24022-18205-41129</b></dt>
<dd><p>These functions add, remove, or modify a collation associated with the database connection specified as the first argument.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-40416-50415-37533-65510-36358-17565-47393-05373</b></dt>
<dd><p>SQLite will also add one of the following flags to the xOpen() call, depending on the object being opened: SQLITE_OPEN_MAIN_DB SQLITE_OPEN_MAIN_JOURNAL SQLITE_OPEN_TEMP_DB SQLITE_OPEN_TEMP_JOURNAL SQLITE_OPEN_TRANSIENT_DB SQLITE_OPEN_SUBJOURNAL SQLITE_OPEN_MASTER_JOURNAL SQLITE_OPEN_WAL
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-40463-24712-34752-07038-54630-26227-29776-31431</b></dt>
<dd><p>SQLITE_DBSTATUS_CACHE_MISS This parameter returns the number of pager cache misses that have occurred.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-40472-60438-03331-36186-60982-36973-59940-12981</b></dt>
<dd><p>Columns that do not appear in the list of assignments are left unmodified.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-40502-12262-42819-60807-51435-51687-55446-47633</b></dt>
<dd><p>If SQLITE_IOERR_XXX, SQLITE_NOMEM, or SQLITE_READONLY is returned, then there is no point in retrying the call to sqlite3_backup_step(). These errors are considered fatal.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-40541-16535-13486-20808-32771-40014-56894-53399</b></dt>
<dd><p>This pragma returns the names of compile-time options used when building SQLite, one option per row.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-40541-54897-33607-37262-17474-57290-09312-25628</b></dt>
<dd><p>For the purposes of this API, a transaction is said to have been rolled back if an explicit "ROLLBACK" statement is executed, or an error or constraint causes an implicit rollback to occur.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-40564-64233-62609-55740-51668-02472-22352-36166</b></dt>
<dd><p>No affinities are applied to any values as the result of a GROUP by clause.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-40597-22164-08785-17254-28069-60974-16591-44156</b></dt>
<dd><p>The result of avg() is NULL if and only if there are no non-NULL inputs.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-40598-36595-56877-54174-64761-50948-11892-46483</b></dt>
<dd><p>For each affected row, the named columns are set to the values found by evaluating the corresponding scalar expressions.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-40630-02268-40288-03121-46855-38283-56768-00095</b></dt>
<dd><p>If used within a SELECT that uses the "query by rowid" or "linear scan" strategies, then the snippet and offsets both return an empty string, and the matchinfo function returns a blob value zero bytes in size.
<i>(source <a href="fts3.html">fts3.html</a>, checked-by: tcl/fts3snippet.test)</i></p></dd>

<dt><b>R-40701-42164-20552-62513-02587-07019-30036-47578</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT a FROM t1 UNION SELECT c FROM t2; 1|0|0|SCAN TABLE t1 (~1000000 rows) 2|0|0|SCAN TABLE t2 (~1000000 rows) 0|0|0|COMPOUND SUBQUERIES 1 AND 2 USING TEMP B-TREE (UNION)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-40729-56447-32753-40044-54162-25797-56212-55799</b></dt>
<dd><p>Duplicate rows are removed from the results of INTERSECT and EXCEPT operators before the result set is returned.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-40745-32628-44360-54833-19873-28133-21062-02308</b></dt>
<dd><p>However xMutexAlloc() may use SQLite memory allocation for a fast or recursive mutex.
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-40798-35269-51954-12592-52405-01125-52034-02657</b></dt>
<dd><p>Warning: misuse of this pragma can easily result in a corrupt database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-40808-28254-51888-63340-48062-19796-43934-20830</b></dt>
<dd><p>The default encoding for the database will be UTF-8 if sqlite3_open() or sqlite3_open_v2() is called and UTF-16 in the native byte order if sqlite3_open16() is used.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-40812-03570-58737-26450-04451-50021-12578-43661</b></dt>
<dd><p>If no negative ROWID values are inserted explicitly, then automatically generated ROWID values will always be greater than zero.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/vdbe.c)</i></p></dd>

<dt><b>R-40822-33276-58156-53336-07099-39057-58220-02470</b></dt>
<dd><p>One might, for example, want to query all objects that overlap with the 35th parallel: SELECT id FROM demo_index WHERE maxY>=35.0 AND minY
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-40827-27357-46487-27198-26867-15174-62736-47681</b></dt>
<dd><p>If foreign key constraints are enabled when a table is renamed, then any REFERENCES clauses in any table (either the table being renamed or some other table) that refer to the table being renamed are modified to refer to the renamed table by its new name.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-40858-03003-08666-12472-31051-52566-61637-28947</b></dt>
<dd><p>The fourth parameter to sqlite3_open_v2() is the name of the sqlite3_vfs object that defines the operating system interface that the new database connection should use.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-40874-07817-64808-61349-14164-22324-19538-25900</b></dt>
<dd><p>In those routines that have a fourth argument, its value is the number of bytes in the parameter. To be clear: the value is the number of bytes in the value, not the number of characters.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-40889-53063-14595-07766-43270-52852-15594-05105</b></dt>
<dd><p>It is not permissible to add a WHERE clause or do any arithmetic on the result.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-40912-17796-52858-33167-65116-31464-10604-52940</b></dt>
<dd><p>Only an effective call of sqlite3_initialize() does any initialization. All other calls are harmless no-ops.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-40919-40941-56960-24730-25939-05503-19815-62200</b></dt>
<dd><p><img src="images/syntax/select-core.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-40921-47946-20610-64910-18137-09746-01061-06361</b></dt>
<dd><p>Another limitation of the histogram data is that it only applies to the left-most column on an index.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-40949-19585-05483-44375-20599-28045-28956-60873</b></dt>
<dd><p>The fifth byte through the last usable byte are used to hold overflow content.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-41004-58299-09133-05321-11963-32065-55865-10893</b></dt>
<dd><p>The parameter P is passed through as the only parameter to the callback function X.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-41025-56247-28274-26451-36451-44569-58431-11817</b></dt>
<dd><p>Otherwise, the affinity is NUMERIC.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-41040-47502-07753-07518-58818-60449-29305-32446</b></dt>
<dd><p>Autocheckpointing is enabled by default with an interval of 1000 or SQLITE_DEFAULT_WAL_AUTOCHECKPOINT.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41050-23052-29095-23436-46083-00331-23025-31647</b></dt>
<dd><p>The first (query) form will return the synchronous setting as an integer.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41062-34431-24503-40012-23472-27163-07838-01416</b></dt>
<dd><p>Parent and child keys must have the same cardinality.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-41103-34171-63381-59793-03319-04831-02307-39561</b></dt>
<dd><p>If an error occurs while evaluating the SQL statements passed into sqlite3_exec(), then execution of the current statement stops and subsequent statements are skipped.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-41108-63135-59113-45543-59580-27259-39094-46915</b></dt>
<dd><p>The subquery does not use LIMIT or the outer query does not have a WHERE clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-41132-04368-54784-12197-53730-05205-63815-61247</b></dt>
<dd><p>Comments do not nest.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-41134-27890-19387-23998-27179-40954-57167-14106</b></dt>
<dd><p>When you change the cache size using the cache_size pragma, the change only endures for the current session.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41155-30776-45495-01405-38282-55666-24776-00512</b></dt>
<dd><p>Any command that changes the database (basically, any SQL command other than SELECT) will automatically start a transaction if one is not already in effect.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-41161-50390-16822-36301-43678-58977-40657-30512</b></dt>
<dd><p>If this parameter is -1, then the SQL function or aggregate may take any number of arguments between 0 and the limit set by sqlite3_limit(SQLITE_LIMIT_FUNCTION_ARG).
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-41163-31141-41973-37775-18210-20451-39077-27354</b></dt>
<dd><p>The default transaction behavior is deferred.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-41183-50724-01751-26515-20432-60241-55721-62765</b></dt>
<dd><p>The returned string is valid until the prepared statement is destroyed using sqlite3_finalize() or until the statement is automatically reprepared by the first call to sqlite3_step() for a particular run or until the same information is requested again in a different encoding.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-41190-61687-46022-39115-32410-29963-50753-29517</b></dt>
<dd><p>The 4th form changes the journaling mode for a specific database connection named.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41220-51800-40113-04594-39111-44246-00162-60024</b></dt>
<dd><p>This option sets the threading mode to Serialized.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-41246-06467-15697-52258-02048-61500-49466-56999</b></dt>
<dd><p>The multi-argument max() function searches its arguments from left to right for an argument that defines a collating function and uses that collating function for all string comparisons.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-41334-30661-37005-47555-65180-39517-46303-13584</b></dt>
<dd><p>The sqlite_stat1 is an internal table created by the ANALYZE command and used to hold supplemental information about tables and indices that the query planner can use to help it find better ways of performing queries.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-41378-26734-12834-24584-64948-40708-19586-57868</b></dt>
<dd><p><img src="images/syntax/result-column.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-41381-35999-48332-52888-17487-39096-22671-62741</b></dt>
<dd><p>If the third parameter to sqlite3_result_error() or sqlite3_result_error16() is non-negative then SQLite takes that many bytes (not characters) from the 2nd parameter as the error message.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-41411-18837-33884-40601-61407-45364-54319-00196</b></dt>
<dd><p>If the keywords PRIMARY KEY are added to a column definition, then the primary key for the table consists of that single column.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-41417-64456-42642-02544-40631-11378-24048-47614</b></dt>
<dd><p>The WAL journaling mode uses a write-ahead log instead of a rollback journal to implement transactions.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41419-14702-29369-41005-61187-50816-54940-05790</b></dt>
<dd><p>The sqlite3_result_toobig() interface causes SQLite to throw an error indicating that a string or BLOB is too long to represent.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-41434-12448-15402-26393-34010-17750-11581-13699</b></dt>
<dd><p>If the join-op is a "LEFT JOIN" or "LEFT OUTER JOIN", then after the ON or USING filtering clauses have been applied, an extra row is added to the output for each row in the original left-hand input dataset that corresponds to no rows at all in the composite dataset (if any).
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-41435-15049-20553-57196-01541-07225-45251-60631</b></dt>
<dd><p>When temp_store is DEFAULT (0), the compile-time C preprocessor macro SQLITE_TEMP_STORE is used to determine where temporary tables and indices are stored.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41438-41245-47933-47570-18885-03208-62677-50789</b></dt>
<dd><p>This can result in a table that contains data that is in violation of the CHECK constraint.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-41444-49665-13532-29136-56203-03908-49213-31629</b></dt>
<dd><p>Other integer type names like "INT" or "BIGINT" or "SHORT INTEGER" or "UNSIGNED INTEGER" causes the primary key column to behave as an ordinary table column with integer affinity and a unique index, not as an alias for the rowid.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-41470-32236-05158-07794-46704-63040-13347-49238</b></dt>
<dd><p>The aConstraint[] array only reports WHERE clause terms that are relevant to the particular virtual table being queried.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-41499-47058-04189-19670-59283-14956-02456-13763</b></dt>
<dd><p>The leftmost column is number 0.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-41519-43313-49943-13325-32316-49786-47625-55988</b></dt>
<dd><p>If N is out of range, sqlite3_compileoption_get() returns a NULL pointer.
<i>(source <a href="c3ref/compileoption_get.html">c3ref/compileoption_get.html</a>)</i></p></dd>

<dt><b>R-41531-51083-45051-37425-19674-01432-09098-10672</b></dt>
<dd><p>Every new database connection defaults to having the auto-checkpoint enabled with a threshold of 1000 or SQLITE_DEFAULT_WAL_AUTOCHECKPOINT pages.
<i>(source <a href="c3ref/wal_autocheckpoint.html">c3ref/wal_autocheckpoint.html</a>)</i></p></dd>

<dt><b>R-41554-07046-26036-24381-44399-09525-65119-51842</b></dt>
<dd><p>The sqlite3_db_filename(D,N) interface returns a pointer to a filename associated with database N of connection D.
<i>(source <a href="c3ref/db_filename.html">c3ref/db_filename.html</a>)</i></p></dd>

<dt><b>R-41640-10889-37891-53855-47925-09375-30702-30304</b></dt>
<dd><p>The filename returned by this function is the output of the xFullPathname method of the VFS.
<i>(source <a href="c3ref/db_filename.html">c3ref/db_filename.html</a>)</i></p></dd>

<dt><b>R-41650-20872-58221-16141-48271-22021-38019-62849</b></dt>
<dd><p>No regexp() user function is defined by default and so use of the REGEXP operator will normally result in an error message.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-41671-45444-43968-05404-57044-18687-11501-21021</b></dt>
<dd><p>The format string supports the most common substitutions found in the strftime() function from the standard C library plus two new substitutions, %f and %J.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-41709-11359-63668-44709-26300-11660-01495-57429</b></dt>
<dd><p>Subverting this mechanism by using "PRAGMA schema_version" to modify the schema-version is potentially dangerous and may lead to program crashes or database corruption.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41719-58677-16610-62099-11420-34570-29798-59249</b></dt>
<dd><p>Any SQL statement variables that had values bound to them using the sqlite3_bind_*() API retain their values.
<i>(source <a href="c3ref/reset.html">c3ref/reset.html</a>)</i></p></dd>

<dt><b>R-41778-26203-39333-15071-00697-32758-59991-57440</b></dt>
<dd><p>SQLITE_LIMIT_ATTACHED The maximum number of attached databases.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-41784-13339-39195-36557-35011-50589-62735-17221</b></dt>
<dd><p>Tip: If the command "PRAGMA foreign_keys" returns no data instead of a single row containing "0" or "1", then the version of SQLite you are using does not support foreign keys (either because it is older than 3.6.19 or because it was compiled with SQLITE_OMIT_FOREIGN_KEY or SQLITE_OMIT_TRIGGER defined).
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-41795-40039-43827-16838-58364-41518-15809-62342</b></dt>
<dd><p>These three ways of committing a transaction correspond to the DELETE, TRUNCATE, and PERSIST settings, respectively, of the journal_mode pragma.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-41800-47981-37638-39991-16437-19048-26206-01107</b></dt>
<dd><p>This option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The argument specifies alternative low-level mutex routines to be used in place the mutex routines built into SQLite.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-41837-07814-38752-23130-22847-42887-22849-22070</b></dt>
<dd><p>If the interrupted SQL operation is an INSERT, UPDATE, or DELETE that is inside an explicit transaction, then the entire transaction will be rolled back automatically.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-41898-06686-16828-22027-00966-49217-22358-47285</b></dt>
<dd><p>If the SELECT yields more than one result row, all rows after the first are ignored.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-41898-15939-51576-48964-07633-48670-39877-19524</b></dt>
<dd><p>The sqlite3_value_text16be() and sqlite3_value_text16le() interfaces extract UTF-16 strings as big-endian and little-endian respectively.
<i>(source <a href="c3ref/value_blob.html">c3ref/value_blob.html</a>)</i></p></dd>

<dt><b>R-41915-30283-17084-09200-05336-25843-01576-43126</b></dt>
<dd><p>Serial Type Codes Of The Record Format Serial TypeContent SizeMeaning 00 NULL 11 8-bit twos-complement integer 22 Big-endian 16-bit twos-complement integer 33 Big-endian 24-bit twos-complement integer 44 Big-endian 32-bit twos-complement integer 56 Big-endian 48-bit twos-complement integer 68 Big-endian 64-bit twos-complement integer 78 Big-endian IEEE 754-2008 64-bit floating point number 80 Integer constant 0. Only available for schema format 4 and higher. 90 Integer constant 1. Only available for schema format 4 and higher. 10,11 &nbsp; Not used. Reserved for expansion. N&#x2265;12 and even (N-12)/2 A BLOB that is (N-12)/2 bytes in length N&#x2265;13 and odd (N-13)/2 A string in the database encoding and (N-13)/2 bytes in length. The nul terminator is omitted.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-41966-43200-49529-11929-45151-33494-57348-62129</b></dt>
<dd><p>Use "main" for the main database (the database that was opened by the original sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2() interface call) and use "temp" for database that holds TEMP tables.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41969-26805-23474-17997-34431-40001-19681-04714</b></dt>
<dd><p>If the application crashes in the middle of a transaction when the OFF journaling mode is set, then the database file will very likely go corrupt.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-41970-42722-40683-07259-21331-17616-49232-32709</b></dt>
<dd><p>This pragma queries or sets the write-ahead log auto-checkpoint interval.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-42037-15614-06254-40391-55101-11302-16506-13295</b></dt>
<dd><p>The DROP INDEX statement removes an index added with the CREATE INDEX statement.
<i>(source <a href="lang_dropindex.html">lang_dropindex.html</a>)</i></p></dd>

<dt><b>R-42037-37826-09680-08362-57128-46753-57920-34709</b></dt>
<dd><p>The default match() function implementation raises an exception and is not really useful for anything.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-42049-24001-08911-07479-20981-30990-05153-14571</b></dt>
<dd><p>A subsequent call to xRollbackTo(X,R) means that the state of the virtual table should return to what it was when xSavepoint(X,R) was last called.
<i>(source <a href="vtab.html">vtab.html</a>)</i></p></dd>

<dt><b>R-42059-47211-64082-08084-07412-31027-38938-26624</b></dt>
<dd><p>If the argument N is positive then the suggested cache size is set to N.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-42089-41020-28633-04847-35892-58431-48484-20358</b></dt>
<dd><p>If no transaction is active (other than the implied transaction that is created on every command) then the ROLLBACK resolution algorithm works the same as the ABORT algorithm.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-42117-40023-28532-25670-04588-08261-64907-07819</b></dt>
<dd><p>Otherwise, the UPDATE affects only those rows for which the result of evaluating the WHERE clause expression as a boolean expression is true.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-42136-40354-42275-03158-50011-22774-46135-65161</b></dt>
<dd><p>The sqlite3_update_hook(D,C,P) function returns the P argument from the previous call on the same database connection D, or NULL for the first call on D.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-42168-23975-08359-11434-07624-62565-20004-56753</b></dt>
<dd><p>Built-in functions may be overloaded by new application-defined functions.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-42196-45693-64496-49282-35220-26786-47093-56372</b></dt>
<dd><p>The collating function callback is invoked with a copy of the pArg application data pointer and with two strings in the encoding specified by the eTextRep argument.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-42207-04347-65478-63733-46803-43649-38770-36227</b></dt>
<dd><p>In other words, if the pattern is like this: column LIKE x% column GLOB x* then the original LIKE or GLOB tests are disabled when the virtual terms constrain an index because in that case we know that all of the rows selected by the index will pass the LIKE or GLOB test.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-42243-62806-04242-02019-64725-25394-01618-23361</b></dt>
<dd><p>The call to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the invalided savepoints will be rolled back or released without first being reinitialized by a call to xSavepoint().
<i>(source <a href="vtab.html">vtab.html</a>)</i></p></dd>

<dt><b>R-42264-30503-59734-27182-09604-54439-24686-19729</b></dt>
<dd><p>The SQLITE_MAX_TRIGGER_DEPTH and SQLITE_LIMIT_TRIGGER_DEPTH settings determine the maximum allowable depth of trigger program recursion. For the purposes of these limits, foreign key actions are considered trigger programs.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-42315-53658-63706-40087-63101-17320-03632-52756</b></dt>
<dd><p>This routine sets a busy handler that sleeps for a specified amount of time when a table is locked.
<i>(source <a href="c3ref/busy_timeout.html">c3ref/busy_timeout.html</a>)</i></p></dd>

<dt><b>R-42316-09582-63519-16650-16131-27933-31807-16513</b></dt>
<dd><p>If there is no explicit DEFAULT clause attached to a column definition, then the default value of the column is NULL.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-42333-10376-25894-44230-56156-46004-61943-25934</b></dt>
<dd><p>The incremental_vacuum pragma has no effect if the database is not in auto_vacuum=incremental mode or if there are no pages on the freelist.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-42363-29104-39854-61131-26966-39533-29446-04460</b></dt>
<dd><p>SQLITE_LIMIT_VARIABLE_NUMBER The maximum index number of any parameter in an SQL statement.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-42365-56839-53807-17537-34270-55327-08082-62618</b></dt>
<dd><p>This option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The sqlite3_mutex_methods structure is filled with the currently defined mutex routines.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-42393-33810-20509-47326-15941-02937-41283-04621</b></dt>
<dd><p>If Z is not initially a string, it is cast to a UTF-8 string prior to processing.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-42401-19613-44791-55246-19167-45900-28933-57755</b></dt>
<dd><p>If offset iOffset is less than N bytes from the end of the BLOB, SQLITE_ERROR is returned and no data is read.
<i>(source <a href="c3ref/blob_read.html">c3ref/blob_read.html</a>)</i></p></dd>

<dt><b>R-42402-58065-33107-31674-12712-01620-50339-46912</b></dt>
<dd><p>The second integer in the array is the number of leaf page pointers to follow.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-42412-59321-17229-61863-37154-26359-45547-07737</b></dt>
<dd><p>Tip: If the application requires a stricter relationship between artist and track, where NULL values are not permitted in the trackartist column, simply add the appropriate "NOT NULL" constraint to the schema.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-42415-59396-18993-18875-54415-33588-07688-24488</b></dt>
<dd><p>Or the pragma might run during sqlite3_step() just like normal SQL statements.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-42420-56072-06217-40848-64970-52103-43558-36371</b></dt>
<dd><p>The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT is always 0.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-42511-39459-28264-29563-43720-13525-46264-32619</b></dt>
<dd><p>PRIMARY KEY, UNIQUE and NOT NULL constraints may be explicitly assigned a default conflict resolution algorithm by including a conflict-clause in their definitions.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-42511-45809-64803-32183-55869-46108-05938-14656</b></dt>
<dd><p>If the Y argument is omitted, trim(X) removes spaces from both ends of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-42549-63396-27448-03598-03898-13954-26122-63811</b></dt>
<dd><p>A literal value is a constant of some kind.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-42570-14138-58472-59583-33774-32771-56401-14369</b></dt>
<dd><p>If foreign key constraints are enabled, it is not possible to open a column that is part of a child key for writing.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-42584-44456-56130-43487-49627-44255-00000-11489</b></dt>
<dd><p>To always truncate rollback journals and WAL files to their minimum size, set the journal_size_limit to zero.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-42612-06757-29135-47016-15516-54308-29948-21112</b></dt>
<dd><p>Each column of the sub-select dataset inherits the collation sequence and affinity of the corresponding expression in the sub-select statement.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select2.test)</i></p></dd>

<dt><b>R-42613-23837-53807-09374-27363-33193-01077-60937</b></dt>
<dd><p>SQLITE_DBSTATUS_SCHEMA_USED This parameter returns the approximate number of of bytes of heap memory used to store the schema for all databases associated with the connection - main, temp, and any ATTACH-ed databases.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-42620-22184-27875-60566-02937-27650-15183-08626</b></dt>
<dd><p>If this means the parameter would be assigned a number greater than SQLITE_MAX_VARIABLE_NUMBER, it is an error.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-42640-12758-34834-48042-16634-19699-19506-39894</b></dt>
<dd><p>For example, if the internal representation is FLOAT and a text result is requested, sqlite3_snprintf() is used internally to perform the conversion automatically.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-42648-01192-24711-57227-24478-04310-65154-26465</b></dt>
<dd><p>Notice that the type VARCHAR contains the string "CHAR" and is thus assigned TEXT affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-42657-00400-11552-47738-28049-57819-30867-53665</b></dt>
<dd><p>If the integer at offset 52 is non-zero then it is the page number of the largest root page in the database file, the database file will contain ptrmap pages, and the mode must be either auto_vacuum or incremental_vacuum.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-42660-47528-56905-42571-24684-45816-05890-54288</b></dt>
<dd><p>A statement is judged to be complete if it ends with a semicolon token and is not a prefix of a well-formed CREATE TRIGGER statement.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-42670-46183-00438-39556-01982-63614-08671-47686</b></dt>
<dd><p>If the result is a numeric value then sqlite3_column_bytes16() uses sqlite3_snprintf() to convert that value to a UTF-16 string and returns the number of bytes in that string.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-42680-10017-09402-35540-35488-37864-08326-19321</b></dt>
<dd><p>The first host parameter has an index of 1, not 0.
<i>(source <a href="c3ref/bind_parameter_name.html">c3ref/bind_parameter_name.html</a>)</i></p></dd>

<dt><b>R-42757-24221-43746-48434-02480-64556-26113-38051</b></dt>
<dd><p>The second parameter szExtra is a number of bytes of extra storage associated with each page cache entry.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-42778-58748-41279-28147-64169-29398-31578-54280</b></dt>
<dd><p>A 5-dimensional R*Tree has 11 columns.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-42790-23372-13524-47335-35146-00064-12684-28505</b></dt>
<dd><p>The sqlite3_db_config() interface will return a non-zero error code if a discontinued or unsupported configuration option is invoked.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-42798-04097-62077-21747-11472-32542-49000-45202</b></dt>
<dd><p>The leftmost SQL parameter has an index of 1.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-42811-40895-19437-55912-12563-37813-52753-07207</b></dt>
<dd><p>The real tables underlying the view are not modified (except possibly explicitly, by a trigger program).
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-42811-49443-25754-38230-63856-29654-59318-39937</b></dt>
<dd><p><img src="images/syntax/pragma-value.gif"><br>
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-42842-27162-40716-30864-56022-22193-11385-61399</b></dt>
<dd><p>Note that the sqlite3_wal_autocheckpoint() interface and the wal_autocheckpoint pragma both invoke sqlite3_wal_hook() and will those overwrite any prior sqlite3_wal_hook() settings.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-42868-39706-29794-00885-30480-27776-00308-11610</b></dt>
<dd><p>In other words, the filename will be an absolute pathname, even if the filename used to open the database originally was a URI or relative pathname.
<i>(source <a href="c3ref/db_filename.html">c3ref/db_filename.html</a>)</i></p></dd>

<dt><b>R-42881-44982-56235-44486-35660-20338-31764-62780</b></dt>
<dd><p>The name of the table to be modified in an UPDATE, DELETE, or INSERT statement must be an unqualified table name. In other words, one must use just "tablename" not "database.tablename" when specifying the table.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-42916-59066-42587-23717-28094-23307-46108-29536</b></dt>
<dd><p>If the ninth parameter to sqlite3_create_function_v2() is not NULL, then it is destructor for the application data pointer. The destructor is invoked when the function is deleted, either by being overloaded or when the database connection closes.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-42938-07030-34028-51732-04227-55156-04511-38808</b></dt>
<dd><p>If this means the parameter number is greater than SQLITE_MAX_VARIABLE_NUMBER, it is an error.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-42967-40755-03922-54202-06529-32553-15493-34553</b></dt>
<dd><p>Each term of aOrderBy records a column of the ORDER BY clause.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-42990-60904-19508-54128-30417-12976-04052-35475</b></dt>
<dd><p>The void pointer that is the second argument to SQLITE_CONFIG_LOG is passed through as the first parameter to the application-defined logger function whenever that function is invoked.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-43019-11534-62865-63313-40845-46462-32420-30274</b></dt>
<dd><p>Any new SQL statements that are started after the sqlite3_interrupt() call and before the running statements reaches zero are interrupted as if they had been running prior to the sqlite3_interrupt() call.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-43042-22504-56439-09446-23422-01554-61314-54021</b></dt>
<dd><p>No error messages are generated if an unknown pragma is issued.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43042-25245-03668-43553-25952-57766-42536-13209</b></dt>
<dd><p>If the mode option is set to "memory" then a pure in-memory database that never reads or writes from disk is used.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-43054-54832-47023-01210-19130-31903-59197-27649</b></dt>
<dd><p>The "SET DEFAULT" actions are similar to "SET NULL", except that each of the child key columns is set to contain the columns default value instead of NULL.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-43060-16536-10698-60756-41285-15374-61767-21299</b></dt>
<dd><p>The profile callback time is in units of nanoseconds, however the current implementation is only capable of millisecond resolution so the six least significant digits in the time are meaningless.
<i>(source <a href="c3ref/profile.html">c3ref/profile.html</a>)</i></p></dd>

<dt><b>R-43064-28843-60545-11344-25729-47633-22876-03755</b></dt>
<dd><p>For each table read by the query, the output of EXPLAIN QUERY PLAN includes a record for which the value in the "detail" column begins with either "SCAN" or "SEARCH".
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-43068-60563-16733-59029-39284-28677-28428-46720</b></dt>
<dd><p>Simple functions return a result immediately based on their inputs.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-43076-48302-39117-06885-40232-30421-32965-23901</b></dt>
<dd><p>The sqlite3_extended_result_codes() routine enables or disables the extended result codes feature of SQLite.
<i>(source <a href="c3ref/extended_result_codes.html">c3ref/extended_result_codes.html</a>)</i></p></dd>

<dt><b>R-43129-35648-05526-33949-60000-35484-08900-15190</b></dt>
<dd><p><img src="images/syntax/join-source.gif"><br>
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-43164-44276-05448-08571-37890-01247-49300-00926</b></dt>
<dd><p>If there is no prefix that can be interpreted as an integer number, the result of the conversion is 0.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-43188-60852-34321-61743-24099-56247-31475-47629</b></dt>
<dd><p><img src="images/syntax/literal-value.gif"><br>
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-43217-29904-47266-41497-40047-57138-51637-14307</b></dt>
<dd><p>This routine returns the N-th compile-time option used to build SQLite or NULL if N is out of range.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-43230-40115-50366-23982-20450-64068-63336-08552</b></dt>
<dd><p>Any process or thread can select READ UNCOMMITTED isolation, but SERIALIZABLE will still be used except between connections that share a common page and schema cache.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43237-50879-06987-12679-64583-33041-22126-56366</b></dt>
<dd><p>If the database schema changes, instead of returning SQLITE_SCHEMA as it always used to do, sqlite3_step() will automatically recompile the SQL statement and try to run it again.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-43245-58225-39690-58540-36876-45930-46908-59730</b></dt>
<dd><p>PRAGMA table_info(table-name); This pragma returns one row for each column in the named table.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43263-13491-37815-28347-01820-41692-00359-07852</b></dt>
<dd><p>The total number of bytes in all fragments is stored in the fifth field of the b-tree page header.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43273-35828-43292-36541-60340-59124-40866-23243</b></dt>
<dd><p>Because the source database is not locked between calls to sqlite3_backup_step(), the source database may be modified mid-way through the backup process.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-43310-35438-04399-12485-38547-48138-39815-28430</b></dt>
<dd><p>The ORDER BY and LIMIT clauses on UPDATE and DELETE statements are not supported. ORDER BY and LIMIT are not normally supported for UPDATE or DELETE in any context but can be enabled for top-level statements using the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option. However, that compile-time option only applies to top-level UPDATE and DELETE statements, not UPDATE and DELETE statements within triggers.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-43328-56724-38269-63059-47788-20047-48832-13506</b></dt>
<dd><p>If a column has the type INTEGER PRIMARY KEY AUTOINCREMENT then a slightly different ROWID selection algorithm is used.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-43340-55464-08586-38170-34053-21521-23708-51540</b></dt>
<dd><p>The database header also stores the page number of the first freelist trunk page as a 4-byte big-endian integer at an offset of 32 from the beginning of the file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43412-05248-04352-15247-64896-14746-56138-24199</b></dt>
<dd><p>SQLITE_DBSTATUS_LOOKASIDE_USED This parameter returns the number of lookaside memory slots currently checked out.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-43415-05262-05879-65095-11903-46844-51636-40644</b></dt>
<dd><p>The filename argument is interpreted as UTF-8 for sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte order for sqlite3_open16().
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-43448-12354-12620-62746-36446-48855-45456-57112</b></dt>
<dd><p>When there are attached databases and no database is specified in the pragma, all databases have their secure-delete setting altered.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43455-30330-13340-63618-42639-11266-34972-33026</b></dt>
<dd><p>The main and temp databases cannot be attached or detached.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-43472-03581-47546-17386-33698-43390-52651-35984</b></dt>
<dd><p>The sqlite3_close() routine is the destructor for the sqlite3 object.
<i>(source <a href="c3ref/close.html">c3ref/close.html</a>)</i></p></dd>

<dt><b>R-43475-58499-15568-06638-27533-08364-56193-27126</b></dt>
<dd><p>SQLite avoids reading or writing freelist leaf pages in order to reduce disk I/O.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43482-09713-62461-41415-00231-20987-55224-61145</b></dt>
<dd><p>In this mode the VACUUM command can be used to rebuild the entire database file and thus reclaim unused disk space.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43517-13251-20482-00086-16208-29491-06722-06620</b></dt>
<dd><p>The sqlite3_total_changes() function counts the changes as soon as the statement that makes them is completed (when the statement handle is passed to sqlite3_reset() or sqlite3_finalize()).
<i>(source <a href="c3ref/total_changes.html">c3ref/total_changes.html</a>)</i></p></dd>

<dt><b>R-43520-58856-06723-52893-53353-04776-19721-26256</b></dt>
<dd><p>The MEMORY journaling mode stores the rollback journal in volatile RAM.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43521-55927-08457-46227-28920-39349-41728-53227</b></dt>
<dd><p>If the right-hand side is a parameter that is bound to a string, then this optimization is only attempted if the prepared statement containing the expression was compiled with sqlite3_prepare_v2() or sqlite3_prepare16_v2().
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-43536-61251-49653-37352-19988-51054-05906-53496</b></dt>
<dd><p>The NNN value must be between 1 and the sqlite3_limit() parameter SQLITE_LIMIT_VARIABLE_NUMBER (default value: 999).
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-43589-15127-43886-39082-32655-09009-64323-07852</b></dt>
<dd><p>The sqlite3_mutex_free() routine deallocates a previously allocated dynamic mutex.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-43593-60261-29658-11319-03926-22761-11566-43342</b></dt>
<dd><p><img src="images/syntax/create-index-stmt.gif"><br>
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-43609-64396-32492-00883-25685-46145-60531-30223</b></dt>
<dd><p>The application wants to prevent other processes from accessing the database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43620-20913-52855-36210-21307-33610-27291-15644</b></dt>
<dd><p>Only an effective call to sqlite3_shutdown() does any deinitialization. All other valid calls to sqlite3_shutdown() are harmless no-ops.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-43693-30522-63226-58235-18305-62021-52549-18888</b></dt>
<dd><p>If the expression is the alias of a table or subquery in the FROM clause followed by ".*" then all columns from the named table or subquery are substituted for the single expression.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-43700-31930-54080-27091-31266-57199-30903-39458</b></dt>
<dd><p>The sqlite_sequence table is created and initialized automatically whenever a normal table that contains an AUTOINCREMENT column is created.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-43713-34954-61284-51343-43182-28146-52130-40042</b></dt>
<dd><p>The xMutexEnd method defined by this structure is invoked as part of system shutdown by the sqlite3_shutdown() function.
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-43737-39999-60785-41458-46023-21259-00950-21702</b></dt>
<dd><p>Every valid SQLite database file begins with the following 16 bytes (in hex): 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43743-63586-44041-14796-23338-16431-24183-19037</b></dt>
<dd><p>0 8 Header string: 0xd9, 0xd5, 0x05, 0xf9, 0x20, 0xa1, 0x63, 0xd7
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43753-41505-35386-09439-04210-20192-61863-65048</b></dt>
<dd><p>For an index, the tbl_name is the name of the table that is indexed.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43797-56749-02967-54481-29642-02482-32480-02233</b></dt>
<dd><p>In NORMAL locking-mode (the default unless overridden at compile-time using SQLITE_DEFAULT_LOCKING_MODE), a database connection unlocks the database file at the conclusion of each read or write transaction.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-43823-35025-00176-30164-46726-64409-48434-13396</b></dt>
<dd><p>The schema cookie is a 4-byte big-endian integer at offset 40 that is incremented whenever the database schema changes.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-43879-08025-52526-08970-15750-21422-30684-37873</b></dt>
<dd><p>Attaching a "REFERENCES <parent-table>" clause to a column definition creates a foreign key constraint that maps the column to the primary key of <parent-table>.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-43885-34106-36737-28703-01656-51302-33321-20142</b></dt>
<dd><p>SQLITE_DBSTATUS_CACHE_USED This parameter returns the approximate number of of bytes of heap memory used by all pager caches associated with the database connection.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-43962-60679-05499-42555-53669-18825-24928-32755</b></dt>
<dd><p>If sqlite3_close() is invoked while a transaction is open, the transaction is automatically rolled back.
<i>(source <a href="c3ref/close.html">c3ref/close.html</a>)</i></p></dd>

<dt><b>R-43996-29471-48886-45304-51416-12121-07825-19150</b></dt>
<dd><p>SQLITE_LIMIT_COLUMN The maximum number of columns in a table definition or in the result set of a SELECT or the maximum number of columns in an index or in an ORDER BY or GROUP BY clause.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-44013-13102-10441-32146-65192-28233-37032-42173</b></dt>
<dd><p>The mode parameter may be set to either "ro", "rw", "rwc", or "memory". Attempting to set it to any other value is an error
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-44050-47362-62664-60634-46008-39199-23714-03291</b></dt>
<dd><p>If the SELECT statement is a non-aggregate query, then each expression in the result expression list is evaluated for each row in the dataset filtered by the WHERE clause.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-44053-43152-33396-01925-47677-61108-43399-25475</b></dt>
<dd><p>The 3rd form changes the journaling mode on all databases attached to the connection.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-44053-64068-31529-32657-44606-24557-47766-35713</b></dt>
<dd><p>The subquery has a FROM clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-44062-08550-47406-04162-18234-03785-06690-48010</b></dt>
<dd><p>If a DELETE statement has a LIMIT clause, the maximum number of rows that will be deleted is found by evaluating the accompanying expression and casting it to an integer value.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-44114-07168-48628-58571-39460-30302-43731-62236</b></dt>
<dd><p>The first parameter is the database connection to which the SQL function is to be added.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-44130-32593-50612-23115-00910-25537-42820-39348</b></dt>
<dd><p>If an ORDER BY expression is not an integer alias, then SQLite searches the left-most SELECT in the compound for a result column that matches either the second or third rules above. If a match is found, the search stops and the expression is handled as an alias for the result column that it has been matched against. Otherwise, the next SELECT to the right is tried, and so on.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-44155-30417-12865-55438-14349-49695-29873-16334</b></dt>
<dd><p>This query would result in a full table scan.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-44163-39688-38219-15448-17659-56666-21013-19183</b></dt>
<dd><p>The expression of a CHECK constraint may not contain a subquery.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>)</i></p></dd>

<dt><b>R-44197-49327-59659-23060-58787-14700-42588-07415</b></dt>
<dd><p>The pragma is like integrity_check except that it does not verify that index content matches table content.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-44209-40260-17459-44675-20302-51345-49866-43242</b></dt>
<dd><p>If and only if the previously described conversion of OR to an IN operator does not work, the second OR-clause optimization is attempted.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-44223-43966-50481-12161-32962-54841-33868-44497</b></dt>
<dd><p>If there are no non-NULL input rows then sum() returns NULL but total() returns 0.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-44241-31306-56883-60998-04220-09447-33322-42012</b></dt>
<dd><p>Any existing statements prepared using the legacy sqlite3_prepare() interface may fail with an SQLITE_SCHEMA error after the recursive_triggers setting is changed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-44252-06035-10062-38462-00454-12973-27157-29991</b></dt>
<dd><p>The subquery does not use LIMIT or the outer query is not a join.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-44270-63173-43365-51432-46246-26535-62506-06270</b></dt>
<dd><p>Both key and value may contain %HH escape sequences.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-44289-63209-61315-10942-18523-19279-36717-48244</b></dt>
<dd><p>If the authority is omitted then the path is required.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-44294-52863-08300-09780-12014-19647-27880-25111</b></dt>
<dd><p>The third parameter is the name of the database that was written to - either "main" or the name of an ATTACH-ed database.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-44295-13823-09058-27289-44091-57467-52153-35683</b></dt>
<dd><p>A transaction savepoint (a non-nested savepoint that was opened while there was not currently an open transaction), on the other hand, is subject to the same restrictions as a COMMIT - attempting to RELEASE it while the database is in such a state will fail.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-44324-41166-42942-47705-27184-58566-20473-14339</b></dt>
<dd><p>It is also an error to use a "*" or "alias.*" expression in a simple SELECT query that does not have a FROM clause.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-44336-03155-46084-50304-15554-44543-05811-18658</b></dt>
<dd><p>Note also that the journal_mode cannot be changed while a transaction is active.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-44381-11669-25586-00441-33187-20695-56764-33989</b></dt>
<dd><p>the expression 'a'&nbsp;LIKE&nbsp;'A' is TRUE but '&aelig;'&nbsp;LIKE&nbsp;'&AElig;' is FALSE.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-44382-28097-05870-38154-27344-49810-07099-20883</b></dt>
<dd><p>The second through fifth forms of this pragma set the encoding that the main database will be created with if it is created by this session.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-44409-62641-17041-24104-11614-63008-35007-15423</b></dt>
<dd><p>The || operator is "concatenate" - it joins together the two strings of its operands.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-44414-54710-39878-46703-10464-52029-15490-53304</b></dt>
<dd><p>There is a row in the cartesian product dataset formed by combining each unique combination of a row from the left-hand and right-hand datasets.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-44424-47897-20192-49943-44571-25334-57312-32558</b></dt>
<dd><p>If the integer at offset 52 is zero then the integer at offset 64 must also be zero.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-44512-29500-51400-28317-41248-06688-48400-64915</b></dt>
<dd><p>If sqlite3_backup_step() has not yet returned SQLITE_DONE, then any active write-transaction on the destination database is rolled back.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-44557-40871-19236-56089-26171-47416-20797-60193</b></dt>
<dd><p>If the most recent evaluation of statement S failed, then sqlite3_finalize(S) returns the appropriate error code or extended error code.
<i>(source <a href="c3ref/finalize.html">c3ref/finalize.html</a>)</i></p></dd>

<dt><b>R-44582-60138-19271-50465-03257-36624-40089-31260</b></dt>
<dd><p>SQLite may from time to time reorganize a b-tree page so that there are no freeblocks or fragment bytes, all unused bytes are contained in the unallocated space region, and all cells are packed tightly at the end of the page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-44615-33286-13182-19247-40132-09732-39940-41262</b></dt>
<dd><p>The special identifiers only refer to the row key if the CREATE TABLE statement does not define a real column with the same name.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-44617-07829-03757-45608-53499-18988-55260-02741</b></dt>
<dd><p>The contents of the sqlite3_pcache_methods2 structure are copied to an internal buffer by SQLite within the call to sqlite3_config. Hence the application may discard the parameter after the call to sqlite3_config() returns.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-44624-50921-54896-40195-40598-14115-12715-41655</b></dt>
<dd><p>The PERSIST journaling mode prevents the rollback journal from being deleted at the end of each transaction. Instead, the header of the journal is overwritten with zeros.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-44697-61543-61121-64494-25121-35816-03351-31400</b></dt>
<dd><p>If SQLITE_OMIT_TRIGGER is defined but SQLITE_OMIT_FOREIGN_KEY is not, then SQLite behaves as it did prior to version 3.6.19 - foreign key definitions are parsed and may be queried using PRAGMA foreign_key_list, but foreign key constraints are not enforced.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-44699-55558-27782-01179-44434-54573-03026-09570</b></dt>
<dd><p>The INDEXED BY clause does not give the optimizer hints about which index to use; it gives the optimizer a requirement of which index to use.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-44809-60674-55337-11812-63258-27949-26446-49308</b></dt>
<dd><p>SQLite will use the implementation that most closely matches the way in which the SQL function is used.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-44826-22243-44536-20704-50732-36267-10117-55598</b></dt>
<dd><p><img src="images/syntax/column-def.gif"><br>
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-44830-52899-50578-35713-22195-41858-55847-16818</b></dt>
<dd><p>*ppStmt is left pointing to a compiled prepared statement that can be executed using sqlite3_step().
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-44911-55124-03117-57509-34751-55401-08276-24921</b></dt>
<dd><p>You can access the ROWID of an SQLite table using one the special column names ROWID, _ROWID_, or OID. Except if you declare an ordinary table column to use one of those special names, then the use of that name will refer to the declared column not to the internal ROWID.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/resolve.c)</i></p></dd>

<dt><b>R-44929-19675-50890-09843-10224-35620-29397-31048</b></dt>
<dd><p>The database connection returned by sqlite3_db_handle is the same database connection that was the first argument to the sqlite3_prepare_v2() call (or its variants) that was used to create the statement in the first place.
<i>(source <a href="c3ref/db_handle.html">c3ref/db_handle.html</a>)</i></p></dd>

<dt><b>R-44931-31853-26224-06306-44467-24966-10617-31779</b></dt>
<dd><p>Universal Coordinated Time (UTC) is used.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-44988-41064-02279-18587-19747-40125-16068-53673</b></dt>
<dd><p>Rows are first sorted based on the results of evaluating the left-most expression in the ORDER BY list, then ties are broken by evaluating the second left-most expression and so on.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-44990-49065-20422-08324-27654-16812-49799-14821</b></dt>
<dd><p>SQLite invokes the xShrink() method when it wants the page cache to free up as much of heap memory as possible.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-44992-52812-59111-17856-46428-55199-28475-08004</b></dt>
<dd><p>SQLite prohibits applications from creating objects whose names begin with "sqlite_".
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-45001-15102-62824-43089-64558-18158-53977-55532</b></dt>
<dd><p>The first argument to these interfaces is a prepared statement.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-45003-07395-31947-31592-21927-23597-32015-06745</b></dt>
<dd><p>Autocommit mode is disabled by a BEGIN statement.
<i>(source <a href="c3ref/get_autocommit.html">c3ref/get_autocommit.html</a>)</i></p></dd>

<dt><b>R-45027-53858-52296-37222-59043-47416-30104-64902</b></dt>
<dd><p>zProc may be 0, in which case the name of the entry point defaults to "sqlite3_extension_init".
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-45051-55006-15108-02545-65455-20416-20562-25495</b></dt>
<dd><p>The sqlite3_release_memory() interface attempts to free N bytes of heap memory by deallocating non-essential memory allocations held by the database library.
<i>(source <a href="c3ref/release_memory.html">c3ref/release_memory.html</a>)</i></p></dd>

<dt><b>R-45052-47506-16194-46831-63738-43272-24543-14451</b></dt>
<dd><p>When sqlite3_prepare_v2() is used to prepare a statement, the statement might be re-prepared during sqlite3_step() due to a schema change.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-45087-02473-60049-15221-45761-16801-31334-59252</b></dt>
<dd><p>For the purposes of unique indices, all NULL values are considered to different from all other NULL values and are thus unique.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-45092-55768-62322-65360-04224-03075-32666-24560</b></dt>
<dd><p>If two or more such blocked connections have specified the same callback function, then instead of invoking the callback function multiple times, it is invoked once with the set of void* context pointers specified by the blocked connections bundled together into an array.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-45095-63572-26689-30740-64749-16083-48841-09127</b></dt>
<dd><p>When an applicable constraint violation occurs, the FAIL resolution algorithm aborts the current SQL statement with an SQLITE_CONSTRAINT error.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-45099-02601-54724-45407-56685-24152-16852-27215</b></dt>
<dd><p>Each subterm is analyzed as if it were itself the entire WHERE clause in order to see if the subterm is indexable by itself.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-45106-55778-23498-47099-45026-10871-39267-61418</b></dt>
<dd><p>The RELEASE of an inner transaction does not cause any changes to be written to the database file; it merely removes savepoints from the transaction stack such that it is no longer possible to ROLLBACK TO those savepoints.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-45164-23268-36240-53561-39664-08143-25092-01923</b></dt>
<dd><p>However if the trigger actions reference other tables, the trigger is not dropped or modified if those other tables are dropped or modified.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-45169-39597-07842-42190-16432-29117-39991-57396</b></dt>
<dd><p><img src="images/syntax/update-stmt-limited.gif"><br>
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-45173-45977-53115-01810-59288-40251-37663-30786</b></dt>
<dd><p><img src="images/syntax/vacuum-stmt.gif"><br>
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-45195-19773-08710-22098-44834-37724-61682-21963</b></dt>
<dd><p>The extended result codes are disabled by default for historical compatibility.
<i>(source <a href="c3ref/extended_result_codes.html">c3ref/extended_result_codes.html</a>)</i></p></dd>

<dt><b>R-45200-50363-59708-20315-54778-07324-53392-01839</b></dt>
<dd><p>If the expression is not a column and has no COLLATE clause, then the BINARY collating sequence is used.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-45221-02523-04020-35318-02486-22619-25012-28682</b></dt>
<dd><p>This error code is not remembered and will not be recalled by sqlite3_errcode() or sqlite3_errmsg().
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-45251-44035-31636-37177-08697-29378-39945-28652</b></dt>
<dd><p>When database is omitted, the "main" database is queried.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-45304-44685-28375-60738-01550-64844-09642-31719</b></dt>
<dd><p>sqlite3_realloc() returns a pointer to a memory allocation of at least N bytes in size or NULL if sufficient memory is unavailable.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-45318-21719-47167-32773-02041-53098-12990-64085</b></dt>
<dd><p>If any xEntryPoint() returns an error, the sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2() call that provoked the xEntryPoint() will fail.
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-45327-47888-54359-38403-07061-57780-61820-17405</b></dt>
<dd><p>No changes can be made to the database except within a transaction.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-45363-38948-33312-55000-36938-65231-54003-14501</b></dt>
<dd><p>If the sqlite_sequence.seq value for an AUTOINCREMENT table is manually set to something other than an integer and there is a subsequent attempt to insert the or update the AUTOINCREMENT table, then the behavior is undefined.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-45406-28279-14866-09757-51891-25484-53799-50932</b></dt>
<dd><p>The first read operation against a database creates a SHARED lock and the first write operation creates a RESERVED lock.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-45408-40694-64054-48639-23979-33510-40886-26968</b></dt>
<dd><p>Changes written into a BLOB prior to the BLOB expiring are not rolled back by the expiration of the BLOB. Such changes will eventually commit if the transaction continues to completion.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-45424-59143-42887-56356-41413-49128-47927-21331</b></dt>
<dd><p>Modifiers are applied from left to right; order is important.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-45434-26671-43611-65303-64851-10798-53208-14323</b></dt>
<dd><p>Only changes that are directly specified by the INSERT, UPDATE, or DELETE statement are counted. Auxiliary changes caused by triggers or foreign key actions are not counted.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-45441-43537-47777-63556-12740-30003-58169-32879</b></dt>
<dd><p>A single WAL can and usually does record multiple transactions.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-45488-08504-64399-03603-60147-65359-06274-60393</b></dt>
<dd><p>If the database schema contains foreign key errors that require looking at more than one table definition to identify, then those errors are not detected when the tables are created.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-45492-21673-27380-33881-11856-30913-36422-46222</b></dt>
<dd><p>SQLite will unwind its stack and return an error.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-45493-35653-32389-26460-18465-38474-56599-09288</b></dt>
<dd><p>A CHECK constraint may be attached to a column definition or specified as a table constraint. In practice it makes no difference.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-45509-34933-24347-37380-13828-03412-57306-45781</b></dt>
<dd><p>The CREATE, TABLE, VIEW, TRIGGER, and INDEX keywords at the beginning of the statement are converted to all upper case letters.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-45676-18204-05370-40567-50208-38360-04513-21756</b></dt>
<dd><p>If the sqlite3_create_function() interface is used to override the glob(X,Y) function with an alternative implementation then the GLOB operator will invoke the alternative implementation.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-45698-45677-50063-45970-57760-01528-64906-56850</b></dt>
<dd><p><img src="images/syntax/create-table-stmt.gif"><br>
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-45725-33143-49569-42045-56416-09972-18063-04229</b></dt>
<dd><p>Note also that sqlite3_snprintf() returns a pointer to its buffer instead of the number of characters actually written into the buffer.
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-45735-05060-45707-02597-62787-16150-27278-23647</b></dt>
<dd><p>The column may not have a PRIMARY KEY or UNIQUE constraint.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-45764-31737-17057-32264-52283-10533-45215-02214</b></dt>
<dd><p>The INTERSECT operator returns the intersection of the results of the left and right SELECTs.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-45784-06451-30580-17650-38271-45394-43500-47526</b></dt>
<dd><p>NOCASE - The same as binary, except the 26 upper case characters of ASCII are folded to their lower case equivalents before the comparison is performed.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-45798-31769-08217-55662-19864-50738-55178-62419</b></dt>
<dd><p>The exclusive lock is not released until either sqlite3_backup_finish() is called or the backup operation is complete and sqlite3_backup_step() returns SQLITE_DONE.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-45820-61953-03602-28420-59065-19791-09856-58583</b></dt>
<dd><p>A correlated subquery is reevaluated each time its result is required.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-45864-01884-48942-09518-31331-15179-06601-52827</b></dt>
<dd><p>On success, sqlite3_blob_write() returns SQLITE_OK. Otherwise, an error code or an extended error code is returned.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-45878-07697-09901-50980-47387-13868-52582-57913</b></dt>
<dd><p>If the REINDEX keyword is followed by a collation-sequence name, then all indices in all attached databases that use the named collation sequences are recreated.
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-45880-07724-18025-09257-41536-03477-46499-61988</b></dt>
<dd><p>Any valid query will work against an R*Tree index.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-45882-09372-45562-22355-27454-39457-08272-55277</b></dt>
<dd><p>SQL parameters of the form "?NNN" or ":AAA" or "@AAA" or "$AAA" have a name which is the string "?NNN" or ":AAA" or "@AAA" or "$AAA" respectively. In other words, the initial ":" or "$" or "@" or "?" is included as part of the name.
<i>(source <a href="c3ref/bind_parameter_name.html">c3ref/bind_parameter_name.html</a>)</i></p></dd>

<dt><b>R-45889-48790-57472-62779-24530-49470-03633-17983</b></dt>
<dd><p>The database, table and column on which the blob handle is open remain the same.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-45920-48177-50080-31515-14083-57660-64476-49903</b></dt>
<dd><p>The callback is invoked from within the sqlite3_step or sqlite3_close call that concludes the blocking connections transaction.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-45936-30472-47790-39733-64722-07720-23744-44892</b></dt>
<dd><p>This pragma does not tell which file format the current database is using; it tells what format will be used by any newly created databases.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-45939-02717-13913-16916-47597-06370-47114-21935</b></dt>
<dd><p>The randomblob(N) function return an N-byte blob containing pseudo-random bytes.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-45951-08347-03834-18503-21973-51666-50988-55652</b></dt>
<dd><p>if the declaration of a column with declared type "INTEGER" includes an "PRIMARY KEY DESC" clause, it does not become an alias for the rowid and is not classified as an integer primary key.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-45981-25528-39449-05041-45662-56122-46761-09278</b></dt>
<dd><p>The fragment component of a URI, if present, is ignored.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-46053-13931-52012-22668-02470-26618-35785-45191</b></dt>
<dd><p>The sqlite3_progress_handler(D,N,X,P) interface causes the callback function X to be invoked periodically during long running calls to sqlite3_exec(), sqlite3_step() and sqlite3_get_table() for database connection D.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-46056-27065-32020-27937-15966-47144-54941-20671</b></dt>
<dd><p>The subquery and the outer query do not both use aggregates.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-46122-14930-43152-39352-29230-29947-05279-64494</b></dt>
<dd><p>If the join-op is "CROSS JOIN", "INNER JOIN", "JOIN" or a comma (",") and there is no ON or USING clause, then the result of the join is simply the cartesian product of the left and right-hand datasets.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test, tcl/e_select2.test)</i></p></dd>

<dt><b>R-46129-45598-36416-42008-62999-11143-15168-02813</b></dt>
<dd><p>The rowid can be used anywhere a regular column can be used.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-46155-47219-10347-23082-03363-55795-00922-50884</b></dt>
<dd><p>If the expression evaluates to a NULL value or any other value that cannot be losslessly converted to an integer, an error is returned.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-46197-42811-45122-27334-03540-14095-05781-43695</b></dt>
<dd><p>This means that the underlying VFS must support the "version 2" shared-memory.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-46199-30249-53951-48405-44359-44625-30943-37142</b></dt>
<dd><p>SQLite guarantees that the second argument to xRealloc is always a value returned by a prior call to xRoundup.
<i>(source <a href="c3ref/mem_methods.html">c3ref/mem_methods.html</a>, checked-by: src/malloc.c, src/mem1.c, src/mem2.c, src/mem5.c)</i></p></dd>

<dt><b>R-46221-33909-22471-18212-13524-55885-62727-63389</b></dt>
<dd><p>International character sets are case sensitive in SQLite unless an application-defined collating sequence and like() SQL function are provided that take non-ASCII characters into account.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-46234-61323-27035-49381-04828-37598-41286-52895</b></dt>
<dd><p>If the path does not begin with a '/' (meaning that the authority section is omitted from the URI) then the path is interpreted as a relative path.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-46256-57243-24322-24814-28812-31567-52831-61261</b></dt>
<dd><p>There is no difference between the "INNER JOIN", "JOIN" and "," join operators.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test, tcl/e_select2.test)</i></p></dd>

<dt><b>R-46268-38926-56948-19860-30305-20790-04689-55824</b></dt>
<dd><p>But in the following logically equivalent formulation of the query, the substitution of "CROSS JOIN" for the "," means that the order of tables must be N1, E, N2. SELECT * FROM node AS n1 CROSS JOIN edge AS e CROSS JOIN node AS n2 WHERE n1.name = 'alice' AND n2.name = 'bob' AND e.orig = n1.id AND e.dest = n2.id;
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-46291-22228-33337-03438-09062-41936-26465-59313</b></dt>
<dd><p>The UPDATE, DELETE, and INSERT statements within triggers do not support the full syntax for UPDATE, DELETE, and INSERT statements.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-46380-62105-49403-51977-53564-35485-34919-25717</b></dt>
<dd><p>This interface allows the size of various constructs to be limited on a connection by connection basis. The first parameter is the database connection whose limit is to be set or queried. The second parameter is one of the limit categories that define a class of constructs to be size limited. The third parameter is the new limit for that construct.
<i>(source <a href="c3ref/limit.html">c3ref/limit.html</a>)</i></p></dd>

<dt><b>R-46397-11150-35825-03689-51879-43855-50852-63161</b></dt>
<dd><p>The second parameter is the column number.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-46413-56591-19010-63234-29028-02870-41994-21141</b></dt>
<dd><p>The checksum values are always stored in the frame header in a big-endian format regardless of which byte order is used to compute the checksum.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-46475-65007-45296-37609-03818-24981-55908-33234</b></dt>
<dd><p>The expression "a BETWEEN b AND c" is treated as two separate binary comparisons "a >= b AND a <= c", even if that means different affinities are applied to 'a' in each of the comparisons.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-46513-12418-39442-33008-36450-21417-18357-12067</b></dt>
<dd><p>To delete an existing SQL function or aggregate, pass NULL pointers for all three function callbacks.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-46542-01490-05241-30409-15162-63986-32317-12249</b></dt>
<dd><p>The SQLITE_FCNTL_WIN32_AV_RETRY opcode is used to configure automatic retry counts and intervals for certain disk I/O operations for the windows VFS in order to provide robustness in the presence of anti-virus programs.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-46616-26780-52699-16900-61811-04122-03606-62757</b></dt>
<dd><p>When an error occurs, sqlite3_step() will return one of the detailed error codes or extended error codes.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-46619-65417-10138-19214-14415-00475-28219-65444</b></dt>
<dd><p>The first column is always a 64-bit signed integer primary key.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-46643-08949-52505-46852-59994-03587-15582-21793</b></dt>
<dd><p>Some parameters do not record the highest value. For those parameters nothing is written into *pHighwater and the resetFlag is ignored.
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-46649-58537-03180-36291-48705-13434-30415-43306</b></dt>
<dd><p>It is not possible to enable or disable foreign key constraints in the middle of a multi-statement transaction (when SQLite is not in autocommit mode). Attempting to do so does not return an error; it simply has no effect.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-46656-45156-45910-65271-53395-31310-28369-14407</b></dt>
<dd><p>The sqlite3_version[] string constant contains the text of SQLITE_VERSION macro.
<i>(source <a href="c3ref/libversion.html">c3ref/libversion.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-46677-03283-38607-60635-61745-23618-46045-62138</b></dt>
<dd><p>If no database name qualifier precedes the "locking_mode" keyword then the locking mode is applied to all databases, including any new databases added by subsequent ATTACH commands.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-46702-22190-08999-08775-06967-16190-65475-37101</b></dt>
<dd><p>Databases created by the ATTACH command always use the same encoding as the main database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-46765-43362-55332-05088-06369-35446-43155-35174</b></dt>
<dd><p>For the purposes of determining duplicate rows for the results of compound SELECT operators, NULL values are considered equal to other NULL values and distinct from all non-NULL values.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-46794-19848-23128-00719-30471-17820-52179-33084</b></dt>
<dd><p>An EXPLAIN QUERY PLAN command returns zero or more rows of four columns each.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-46798-18657-50742-54084-49745-39581-20744-29339</b></dt>
<dd><p>SQLITE_STATUS_PAGECACHE_OVERFLOW This parameter returns the number of bytes of page cache allocation which could not be satisfied by the SQLITE_CONFIG_PAGECACHE buffer and where forced to overflow to sqlite3_malloc(). The returned value includes allocations that overflowed because they where too large (they were larger than the "sz" parameter to SQLITE_CONFIG_PAGECACHE) and allocations that overflowed because no space was left in the page cache.
<i>(source <a href="c3ref/c_status_malloc_count.html">c3ref/c_status_malloc_count.html</a>)</i></p></dd>

<dt><b>R-46798-50301-48995-28285-56174-19296-23504-21814</b></dt>
<dd><p>The sqlite3_context_db_handle() interface returns a copy of the pointer to the database connection (the 1st parameter) of the sqlite3_create_function() and sqlite3_create_function16() routines that originally registered the application defined function.
<i>(source <a href="c3ref/context_db_handle.html">c3ref/context_db_handle.html</a>, checked-by: src/vdbeapi.c)</i></p></dd>

<dt><b>R-46863-28786-21721-60077-48835-05844-55823-37833</b></dt>
<dd><p>The current value of the requested parameter is written into *pCur and the highest instantaneous value is written into *pHiwtr.
<i>(source <a href="c3ref/db_status.html">c3ref/db_status.html</a>)</i></p></dd>

<dt><b>R-46899-53765-49307-65251-39384-33164-52568-22065</b></dt>
<dd><p>A SELECT used as a scalar quantity must return a result set with a single column.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-46927-16727-32978-55538-27882-44845-62428-50887</b></dt>
<dd><p>The sqlite3_errcode() interface returns the numeric result code or extended result code for the most recent failed sqlite3_* API call associated with a database connection.
<i>(source <a href="c3ref/errcode.html">c3ref/errcode.html</a>)</i></p></dd>

<dt><b>R-46928-50290-63480-55173-44654-62458-34025-42888</b></dt>
<dd><p>The optional conflict-clause allows the specification of an alternative constraint conflict resolution algorithm to use during this one INSERT command.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-46937-57672-41895-41327-41182-38354-24563-01052</b></dt>
<dd><p>Objects of this type are created by sqlite3_blob_open() and destroyed by sqlite3_blob_close().
<i>(source <a href="c3ref/blob.html">c3ref/blob.html</a>)</i></p></dd>

<dt><b>R-46991-00459-32284-17616-36879-21143-59661-33845</b></dt>
<dd><p>Instead, executing an INSERT, DELETE or UPDATE on the view causes the associated triggers to fire.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-47032-28289-44184-46595-09836-48485-53901-64968</b></dt>
<dd><p>A database connection handle is usually returned in *ppDb, even if an error occurs. The only exception is that if SQLite is unable to allocate memory to hold the sqlite3 object, a NULL will be written into *ppDb instead of a pointer to the sqlite3 object.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-47036-41840-58186-29109-10721-33333-60835-64476</b></dt>
<dd><p>24 4 Size of pages in this journal.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-47066-28880-03512-24008-47345-51727-07971-11706</b></dt>
<dd><p>Both routines return a NULL pointer if sqlite3_malloc() is unable to allocate enough memory to hold the resulting string.
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-47080-02069-19289-28177-02416-33406-46082-01364</b></dt>
<dd><p>If an "ALTER TABLE ... RENAME TO" command is used to rename a table that is the parent table of one or more foreign key constraints, the definitions of the foreign key constraints are modified to refer to the parent table by its new name
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-47106-26961-22018-10007-09993-39383-21640-46039</b></dt>
<dd><p>The sqlite3_backup object may be used with the sqlite3_backup_step() and sqlite3_backup_finish() functions to perform the specified backup operation.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-47125-14019-06302-35267-43761-08118-47718-40685</b></dt>
<dd><p>The "start of" modifiers (7 through 9) shift the date backwards to the beginning of the current month, year or day.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-47189-13533-48417-10279-64730-28757-47384-47585</b></dt>
<dd><p>Otherwise, an expression has NONE affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-47208-15314-60187-26132-59357-10692-55881-38588</b></dt>
<dd><p>And the automatically generated ROWIDs are guaranteed to be monotonically increasing.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-47211-28729-25816-05279-05097-21932-34938-10483</b></dt>
<dd><p>Deferred means that no locks are acquired on the database until the database is first accessed.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-47229-44664-45989-28398-08189-62059-57845-17972</b></dt>
<dd><p>The virtual <name> table creates three "shadow" tables to actually store its content. The names of these shadow tables are: <name>_node <name>_rowid <name>_parent
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-47266-09114-09373-38299-52312-34441-33955-28545</b></dt>
<dd><p><img src="images/syntax/type-name.gif"><br>
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-47305-04990-25938-37704-56738-03893-04285-33523</b></dt>
<dd><p><img src="images/syntax/rollback-stmt.gif"><br>
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-47326-42054-43655-41302-10309-18227-37352-51087</b></dt>
<dd><p>No entry point will be called more than once for each database connection that is opened.
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-47349-36088-56332-49361-27773-46509-28359-10620</b></dt>
<dd><p>The ifnull() function is equivalent to coalesce() with two arguments.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-47355-18032-54463-52994-47328-64569-52603-29032</b></dt>
<dd><p>The column is identified by the second, third and fourth parameters to this function.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-47358-05964-44521-01667-50829-29935-00197-29054</b></dt>
<dd><p>The sqlite3_data_count(P) routine returns 0 if the previous call to sqlite3_step(P) returned SQLITE_DONE.
<i>(source <a href="c3ref/data_count.html">c3ref/data_count.html</a>)</i></p></dd>

<dt><b>R-47362-07898-57690-63362-38950-19612-46458-01308</b></dt>
<dd><p>If the REINDEX keyword is not followed by a collation-sequence or database object identifier, then all indices in all attached databases are rebuilt.
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-47366-13741-55802-55490-13630-64665-63412-14686</b></dt>
<dd><p>If the option is unknown or SQLite is unable to set the option then this routine returns a non-zero error code.
<i>(source <a href="c3ref/config.html">c3ref/config.html</a>)</i></p></dd>

<dt><b>R-47394-08393-08013-46591-44142-56491-27088-03038</b></dt>
<dd><p>The like() function is used to implement the "Y LIKE X [ESCAPE Z]" expression.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-47421-29468-64946-07771-42048-44217-36224-10277</b></dt>
<dd><p>If none of the arguments to min() define a collating function, then the BINARY collating function is used.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-47436-38935-17734-42324-42347-43578-49292-42564</b></dt>
<dd><p>The header of the rollback journal can be overwritten with invalid header text (for example, all zeros).
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-47496-23053-18561-13621-46143-05639-50277-51479</b></dt>
<dd><p>If any input to sum() is neither an integer or a NULL then sum() returns a floating point value which might be an approximation to the true sum.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-47509-29391-57828-14373-16607-57095-30491-02862</b></dt>
<dd><p><img src="images/syntax/conflict-clause.gif"><br>
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-47539-04989-63867-01741-02652-06159-08105-39145</b></dt>
<dd><p>A time string can be in any of the following formats: YYYY-MM-DD YYYY-MM-DD HH:MM YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS.SSS YYYY-MM-DDTHH:MM YYYY-MM-DDTHH:MM:SS YYYY-MM-DDTHH:MM:SS.SSS HH:MM HH:MM:SS HH:MM:SS.SSS now DDDDDDDDDD
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-47543-32145-59149-48631-62108-17148-32947-37500</b></dt>
<dd><p>Or, if none of the WHEN expressions evaluate to a value equal to the base expression, the result of evaluating the ELSE expression, if any.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-47608-56469-23173-27343-55331-44027-52555-65470</b></dt>
<dd><p>Any other value for the b-tree page type is an error.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-47612-45842-47349-09557-45633-42955-42013-27541</b></dt>
<dd><p>When casting a TEXT value to INTEGER, the longest possible prefix of the value that can be interpreted as an integer number is extracted from the TEXT value and the remainder ignored.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-47647-12243-54317-29613-24170-30536-25392-24642</b></dt>
<dd><p>It is not possible to open a column that is part of an index or primary key for writing.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-47666-36489-24359-20436-03208-18550-24058-22275</b></dt>
<dd><p>To perform a backup operation: sqlite3_backup_init() is called once to initialize the backup, sqlite3_backup_step() is called one or more times to transfer the data between the two databases, and finally sqlite3_backup_finish() is called to release all resources associated with the backup operation.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-47674-04435-43323-49671-63294-37647-53866-33040</b></dt>
<dd><p>When a database is in WAL mode, all connections to that database must use the WAL.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-47688-18802-24758-22650-17797-24943-61288-58043</b></dt>
<dd><p>The query string is divided into key/value pairs.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-47730-38043-27274-49738-18176-22421-00022-64697</b></dt>
<dd><p>Recognized integer codes are of the form SQLITE_STATUS_....
<i>(source <a href="c3ref/status.html">c3ref/status.html</a>)</i></p></dd>

<dt><b>R-47733-45247-60331-46035-59021-50515-39174-07719</b></dt>
<dd><p>The following table details the conversions that are applied: InternalType RequestedType Conversion NULL INTEGER Result is 0 NULL FLOAT Result is 0.0 NULL TEXT Result is NULL pointer NULL BLOB Result is NULL pointer INTEGER FLOAT Convert from integer to float INTEGER TEXT ASCII rendering of the integer INTEGER BLOB Same as INTEGER->TEXT FLOAT INTEGER Convert from float to integer FLOAT TEXT ASCII rendering of the float FLOAT BLOB Same as FLOAT->TEXT TEXT INTEGER Use atoi() TEXT FLOAT Use atof() TEXT BLOB No change BLOB INTEGER Convert to TEXT then use atoi() BLOB FLOAT Convert to TEXT then use atof() BLOB TEXT Add a zero terminator if needed
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-47733-51480-22851-25883-35942-36759-44025-34023</b></dt>
<dd><p>If an INSERT or UPDATE statement attempts to modify the table content so that two or more rows feature identical values in a set of columns that are subject to a UNIQUE constraint, it is a constraint violation.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-47754-42489-63490-59015-30535-62379-17829-51875</b></dt>
<dd><p>If the main database has not already been created, then the value returned is the text encoding that will be used to create the main database, if it is created by this session.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-47754-63122-64688-34803-40832-37059-61979-20469</b></dt>
<dd><p>If the busy callback is not NULL, then the callback might be invoked with two arguments.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-47776-28526-56266-60263-62785-55085-28678-57655</b></dt>
<dd><p>The return value from sqlite3_soft_heap_limit64() is the size of the soft heap limit prior to the call, or negative in the case of an error.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-47794-27716-03685-35899-02913-62361-61931-61907</b></dt>
<dd><p>The right-most column that is used can employ inequalities.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-47870-49110-06101-43911-08439-20961-63107-08637</b></dt>
<dd><p>The parent and sub-query may contain WHERE clauses.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-47871-25994-62051-30257-22396-55190-62622-00222</b></dt>
<dd><p>The second argument is the size of each lookaside buffer slot.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-47911-02086-00563-12501-07290-59404-01973-00028</b></dt>
<dd><p>If neither ALL or DISTINCT are present, then the behaviour is as if ALL were specified.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-47936-10044-12721-09990-49763-27309-53307-48514</b></dt>
<dd><p>Or, more generally: SELECT rowid FROM <child-table> WHERE <child-key> = :parent_key_value
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-47952-62498-54054-51429-18050-07399-51898-49231</b></dt>
<dd><p>It is not possible to use the "ALTER TABLE ... ADD COLUMN" syntax to add a column that includes a REFERENCES clause, unless the default value of the new column is NULL. Attempting to do so returns an error.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-48001-03885-46533-22918-25450-29209-50529-34547</b></dt>
<dd><p>EXPLAIN QUERY PLAN is most useful on a SELECT statement, but may also be appear with other statements that read data from database tables (e.g. UPDATE, DELETE, INSERT INTO ... SELECT).
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-48019-29352-09930-00922-22494-19242-19926-63915</b></dt>
<dd><p>Strings are surrounded by single-quotes with escapes on interior quotes as needed.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-48114-33255-21791-45008-42477-24865-64663-06876</b></dt>
<dd><p>If there is only a single table in the join-source following the FROM clause, then the input data used by the SELECT statement is the contents of the named table.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-48124-63225-09560-63618-32598-12840-01456-15525</b></dt>
<dd><p>A single foreign key constraint may have different actions configured for ON DELETE and ON UPDATE.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-48141-52334-41562-00713-04774-04609-31111-39049</b></dt>
<dd><p>If the DELETE statement has an ORDER BY clause, then all rows that would be deleted in the absence of the LIMIT clause are sorted according to the ORDER BY. The first M rows, where M is the value found by evaluating the OFFSET clause expression, are skipped, and the following N, where N is the value of the LIMIT expression, are deleted.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-48191-50425-24568-05066-49812-07872-47674-23180</b></dt>
<dd><p>A rollback journal is only considered to be valid if it exists and contains a valid header.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-48193-40803-45663-39710-09146-41255-01292-51860</b></dt>
<dd><p>0 4 The page number in the database file
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-48195-55336-26505-63139-45265-27708-47469-46225</b></dt>
<dd><p>It is an error to specify both a <database-name> and the TEMP keyword on a VIEW, unless the <database-name> is "temp".
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-48204-18881-64880-60099-58359-33874-53073-00752</b></dt>
<dd><p>Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values: TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS"). REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar. INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-48209-53856-21917-45941-32900-56802-54621-32738</b></dt>
<dd><p>If any writes were made to the BLOB, they might be held in cache until the close operation if they will fit.
<i>(source <a href="c3ref/blob_close.html">c3ref/blob_close.html</a>)</i></p></dd>

<dt><b>R-48245-15045-20041-46563-30518-58270-45669-62749</b></dt>
<dd><p>A filename that is not a well-formed URI is interpreted as an ordinary filename.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-48270-44282-22791-02682-41212-30485-35514-10094</b></dt>
<dd><p>Foreign key ON DELETE and ON UPDATE clauses are used to configure actions that take place when deleting rows from the parent table (ON DELETE), or modifying the parent key values of existing rows (ON UPDATE).
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-48331-62427-58525-15123-43794-40933-40016-08024</b></dt>
<dd><p>The cache size reverts to the default value when the database is closed and reopened.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-48332-15034-37665-36826-65494-46636-19772-53636</b></dt>
<dd><p>Overflow pages form a linked list.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-48333-48208-51802-16528-34605-32533-04815-58648</b></dt>
<dd><p>The page cache implementation may choose to evict unpinned pages at any time.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-48353-20008-09529-43766-40530-57780-24445-25829</b></dt>
<dd><p>The RENAME TO syntax is used to rename the table identified by [database-name.]table-name to new-table-name.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-48365-36308-32644-24714-49385-43742-45411-08326</b></dt>
<dd><p>Specifying an unknown VFS is an error.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-48367-20048-50643-18297-54370-57109-07198-62808</b></dt>
<dd><p>Calls to sqlite3_blob_read() and sqlite3_blob_write() for an expired BLOB handle fail with a return code of SQLITE_ABORT.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-48391-38472-46406-48874-31358-29787-61398-48182</b></dt>
<dd><p>Instead, such errors prevent the application from preparing SQL statements that modify the content of the child or parent tables in ways that use the foreign keys.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-48397-09304-28438-45944-41933-38380-50154-54249</b></dt>
<dd><p>The "localtime" modifier (12) assumes the time string to its left is in Universal Coordinated Time (UTC) and adjusts the time string so that it displays localtime.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-48422-12154-41896-26820-42783-11801-54961-22024</b></dt>
<dd><p>SQLITE_DONE means that the statement has finished executing successfully.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-48423-15566-21629-16803-49272-05877-37103-01519</b></dt>
<dd><p>The LIMIT of a scalar subquery is always 1. Any other LIMIT value given in the SQL text is ignored.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-48440-37595-53228-62287-21780-44626-15603-42165</b></dt>
<dd><p>If the specific value bound to host parameter in the WHERE clause might influence the choice of query plan for a statement, then the statement will be automatically recompiled, as if there had been a schema change, on the first sqlite3_step() call following any change to the bindings of that parameter.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>, checked-by: src/vdbeapi.c)</i></p></dd>

<dt><b>R-48501-60654-02058-03003-22301-35802-59177-27427</b></dt>
<dd><p>The sqlite3_realloc() interface attempts to resize a prior memory allocation to be at least N bytes, where N is the second parameter. The memory allocation to be resized is the first parameter.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-48508-16501-42399-04556-60395-35899-62674-27163</b></dt>
<dd><p>The SQLite core never uses these routines except inside an assert() and applications are advised to follow the lead of the core.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-48521-51450-40029-38325-35476-53863-12365-01087</b></dt>
<dd><p>When in write-ahead log mode, only the auto_vacuum support property can be changed using VACUUM.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-48544-16048-58560-43794-36911-40715-54849-57363</b></dt>
<dd><p>Page 1 of a database file is the root page of a table b-tree that holds a special table named "sqlite_master" (or "sqlite_temp_master" in the case of a TEMP database) which stores the complete database schema.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-48576-42125-14408-22326-23329-43841-05542-05024</b></dt>
<dd><p>This pragma only operates on the single database specified prior to the pragma name (or on the "main" database if no database is specified.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-48584-41074-15154-28473-43969-34090-29401-03268</b></dt>
<dd><p>For example, if an UPDATE statement encountered a constraint violation on the 100th row that it attempts to update, then the first 99 row changes are preserved but changes to rows 100 and beyond never occur.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-48666-10705-60913-59085-01718-56024-53514-10016</b></dt>
<dd><p>The 4-byte big-endian integer at offset 96 stores the SQLITE_VERSION_NUMBER value for the SQLite library that most recently modified the database file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-48669-35999-21741-26619-47497-57148-46710-39609</b></dt>
<dd><p>When RAISE(IGNORE) is called, the remainder of the current trigger program, the statement that caused the trigger program to execute and any subsequent trigger programs that would of been executed are abandoned.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-48672-52715-12548-65010-48286-41309-29558-44843</b></dt>
<dd><p>The first six modifiers (1 through 6) simply add the specified amount of time to the date and time specified by the preceding timestring and modifiers.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-48680-34580-07535-36530-00266-23021-14207-17358</b></dt>
<dd><p>This routine enables or disables the sharing of the database cache and schema data structures between connections to the same database. Sharing is enabled if the argument is true and disabled if the argument is false.
<i>(source <a href="c3ref/enable_shared_cache.html">c3ref/enable_shared_cache.html</a>)</i></p></dd>

<dt><b>R-48699-48617-19592-25745-27147-09294-16176-26232</b></dt>
<dd><p>This function is an SQL wrapper around the sqlite3_libversion() C-interface.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-48711-46457-28354-47973-39166-41669-11371-37006</b></dt>
<dd><p>The COMMIT command commits all outstanding transactions and leaves the transaction stack empty.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-48747-10400-04518-40468-05285-19498-18492-16808</b></dt>
<dd><p>The affinity of a column is determined by the declared type of the column, according to the following rules in the order shown:
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-48780-51154-29045-33846-29685-59485-21134-40329</b></dt>
<dd><p>A rollback journal header is padded with zeros out to the size of a single sector (as defined by the sector size integer at offset 20).
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-48816-31606-01723-32328-02759-44643-37648-45150</b></dt>
<dd><p>If the "TEMP" or "TEMPORARY" keyword occurs in between "CREATE" and "VIEW" then the view that is created is only visible to the process that opened the database and is automatically deleted when the database is closed.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-48883-55500-50778-07374-29633-57936-16393-12764</b></dt>
<dd><p>Similarly, xMutexAlloc() must not use SQLite memory allocation for a static mutex.
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-48887-45097-32252-48133-01081-61153-45933-38095</b></dt>
<dd><p>When INSERT OR REPLACE encounters a constraint violation, it does not fail. The INSERT continues to completion after deleting rows that caused the constraint problem so INSERT OR REPLACE will always change the return value of this interface.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-48889-15193-02944-54965-41712-11810-18845-50736</b></dt>
<dd><p>Because of this, SQLite is able to efficiently plan queries with 50- or 60-way joins.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-48924-26514-16091-23967-07299-63684-26291-30704</b></dt>
<dd><p>SQLite passes the module arguments directly to the xCreate and xConnect methods of the module implementation without any interpretation.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-48930-58522-23866-61724-42615-58170-25168-58351</b></dt>
<dd><p>If the fullfsync flag is set, then the F_FULLFSYNC syncing method is used for all sync operations and the checkpoint_fullfsync setting is irrelevant.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-48932-13175-31748-44734-45646-26291-63323-36256</b></dt>
<dd><p>When the auto_vacuum pragma is invoked with no arguments, it returns the current auto_vacuum mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-48974-49065-61621-06146-19676-25971-04970-57642</b></dt>
<dd><p>When overwriting the original, a rollback journal or write-ahead log WAL file is used just as it would be for any other database transaction.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>)</i></p></dd>

<dt><b>R-49006-07361-60933-29760-59065-52177-14168-55126</b></dt>
<dd><p>This interface returns a pointer the sqlite3_mutex object that serializes access to the database connection given in the argument when the threading mode is Serialized.
<i>(source <a href="c3ref/db_mutex.html">c3ref/db_mutex.html</a>)</i></p></dd>

<dt><b>R-49045-42493-00753-52815-20675-33627-44655-32339</b></dt>
<dd><p>SQLite will use the xCurrentTimeInt64() method to get the current date and time if that method is available (if iVersion is 2 or greater and the function pointer is not NULL) and will fall back to xCurrentTime() if xCurrentTimeInt64() is unavailable.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>, checked-by: src/os.c)</i></p></dd>

<dt><b>R-49053-54554-23954-60675-57503-20600-08222-18852</b></dt>
<dd><p>The sqlite3_free() routine is a no-op if is called with a NULL pointer.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>, checked-by: src/malloc.c)</i></p></dd>

<dt><b>R-49065-33371-62807-45806-18659-22955-12642-05474</b></dt>
<dd><p>you cannot create indices or triggers on a virtual table.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-49080-64834-49066-11889-43527-52313-57456-24143</b></dt>
<dd><p>SQLite further guarantees that the string will be valid and unchanged until xClose() is called.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-49101-35304-43944-04630-00737-13180-26009-06638</b></dt>
<dd><p>PRAGMA encoding; PRAGMA encoding = "UTF-8"; PRAGMA encoding = "UTF-16"; PRAGMA encoding = "UTF-16le"; PRAGMA encoding = "UTF-16be";
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-49139-10687-11407-01351-43841-59577-60100-56691</b></dt>
<dd><p>If a <database-name> is specified, then the view is created in the named database.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-49178-21358-58489-31319-06651-33455-27209-45773</b></dt>
<dd><p>By contrast, if a statement modifies the contents of the database such that a deferred foreign key constraint is violated, the violation is not reported immediately.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-49203-06300-24971-00388-61998-23090-03169-09394</b></dt>
<dd><p>SQLITE_ERROR means that a run-time error (such as a constraint violation) has occurred.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-49205-33389-18293-52345-53648-26745-43874-32823</b></dt>
<dd><p>If it returns NULL that means that a mutex could not be allocated.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-49355-18864-41991-03716-27063-49860-31410-42810</b></dt>
<dd><p>Note that is not necessary for all coordinates in an R*Tree index to be constrained in order for the index search to be efficient.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-49438-33626-11664-14261-26905-24626-16262-08666</b></dt>
<dd><p>The second argument is the index of the SQL parameter to be set.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-49439-47561-51133-13187-26253-42033-23583-00628</b></dt>
<dd><p>It is an error to specify both a <database-name> and the TEMP or TEMPORARY keyword, unless the <database-name> is "temp".
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-49475-10767-10056-16287-22604-26853-09642-54500</b></dt>
<dd><p>Triggers are database operations that are automatically performed when a specified database event occurs.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-49503-28105-44947-11030-24577-10415-58818-16723</b></dt>
<dd><p>If a REAL is too large to be represented as an INTEGER then the result of the cast is the largest negative integer: -9223372036854775808.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-49525-50935-14117-14557-33171-51725-50226-36175</b></dt>
<dd><p>Terms that cannot be satisfied through the use of indices become tests that are evaluated against each row of the relevant input tables.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-49544-31368-40814-19343-43635-21334-61067-52445</b></dt>
<dd><p>SQLite never deallocates a static mutex.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-49563-33883-18823-43578-33471-11395-18869-08978</b></dt>
<dd><p>A VACUUM will fail if there is an open transaction, or if there are one or more active SQL statements when it is run.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-49566-01570-19269-51029-21052-63278-54120-39261</b></dt>
<dd><p>If the left and right-hand input datasets feature no common column names, then the NATURAL keyword has no effect on the results of the join.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-49587-58722-22579-11997-14629-64428-05772-29510</b></dt>
<dd><p>The authorizer callback is invoked as SQL statements are being compiled by sqlite3_prepare() or its variants sqlite3_prepare_v2(), sqlite3_prepare16() and sqlite3_prepare16_v2().
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-49616-30196-22472-11090-21986-31770-01648-15576</b></dt>
<dd><p>Or, if the argument attached to the REINDEX identifies a specific database table, then all indices attached to the database table are rebuilt.
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-49709-12803-31814-26348-47423-57692-52617-09726</b></dt>
<dd><p>If this variable is a NULL pointer, then SQLite assumes that all database files specified with a relative pathname are relative to the current directory for the process.
<i>(source <a href="c3ref/data_directory.html">c3ref/data_directory.html</a>)</i></p></dd>

<dt><b>R-49712-00021-58463-24444-06627-10741-14280-12822</b></dt>
<dd><p>The initial columns of the index must be used with the = or IN operators.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-49718-44437-53178-33073-48551-60632-45231-61036</b></dt>
<dd><p>If sqlite3_backup_step(B,N) successfully copies N pages and there are still more pages to be copied, then the function returns SQLITE_OK.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-49744-28344-63399-17680-56251-18260-15622-25179</b></dt>
<dd><p>Return the number of columns in the result set returned by the prepared statement.
<i>(source <a href="c3ref/column_count.html">c3ref/column_count.html</a>)</i></p></dd>

<dt><b>R-49752-52776-47662-23975-09882-64912-61393-46932</b></dt>
<dd><p>Unless deadlock is detected (see below), sqlite3_unlock_notify() always returns SQLITE_OK.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-49755-52305-50585-21714-21268-35296-20673-02389</b></dt>
<dd><p>Hence, to find the current value of a limit without changing it, simply invoke this interface with the third parameter set to -1.
<i>(source <a href="c3ref/limit.html">c3ref/limit.html</a>)</i></p></dd>

<dt><b>R-49759-12456-29059-02912-58446-28690-22652-14283</b></dt>
<dd><p>None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever be called except in between calls to xBegin() and either xCommit() or xRollback().
<i>(source <a href="vtab.html">vtab.html</a>)</i></p></dd>

<dt><b>R-49770-47130-58542-44165-02097-09691-62108-60186</b></dt>
<dd><p>Thus with SQLite, there is no computational advantage to use the newer SQL92 join syntax over the older SQL89 comma-join syntax. They both end up accomplishing exactly the same thing on inner joins.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-49783-61279-16242-54630-23858-13201-42746-50539</b></dt>
<dd><p>An "at" sign works exactly like a colon, except that the name of the parameter created is @AAAA.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-49789-16524-33222-15346-50158-11030-19428-38711</b></dt>
<dd><p>For an inner join, the two queries above would be identical.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-49793-28525-19299-21644-21029-37441-20100-31652</b></dt>
<dd><p>Setting the cache parameter to "private" is equivalent to setting the SQLITE_OPEN_PRIVATECACHE bit.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-49817-02954-23076-12653-50328-02028-06094-60285</b></dt>
<dd><p>If no database name is specified, and the TEMP keyword is not present, the VIEW is created in the main database.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-49846-38160-32658-53011-14500-27650-55616-46897</b></dt>
<dd><p>If the argument is a table name, then only that table and the indices associated with that table are analyzed.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-49863-56886-15740-10882-51650-03687-65042-59500</b></dt>
<dd><p>N+4 4 Checksum
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-49876-15090-54531-12360-51762-42464-27372-16242</b></dt>
<dd><p>SQLite makes a copy of the content of the sqlite3_mutex_methods structure before the call to sqlite3_config() returns.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-49920-60189-48669-35973-51094-40513-29191-34461</b></dt>
<dd><p>If the first pointer (the memory pointer) is NULL, then SQLite reverts to using its default memory allocator (the system malloc() implementation), undoing any prior invocation of SQLITE_CONFIG_MALLOC.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-49925-55905-53634-34425-17507-41771-04127-21905</b></dt>
<dd><p>Otherwise, the BINARY collation sequence is used.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-49956-53465-03282-32441-61380-45245-38103-26687</b></dt>
<dd><p>A protected sqlite3_value object may always be used where an unprotected sqlite3_value object is required, so either kind of sqlite3_value object can be used with this interface.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-49959-19447-21859-18883-29920-55804-31442-61320</b></dt>
<dd><p>The xMutexInit method defined by this structure is invoked as part of system initialization by the sqlite3_initialize() function.
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-49962-37036-40067-13077-38484-28797-22165-05685</b></dt>
<dd><p>In the example above, if column x has TEXT affinity then the comparison "x=5" will be done as text. But the + operator removes the affinity. So the comparison "+x=5" will compare the text in column x with the numeric value 5 and will always be false.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-49987-49519-43284-58100-38410-62863-50146-52040</b></dt>
<dd><p>The second argument is a pointer to the function to invoke when a row is updated, inserted or deleted.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-49991-12716-30919-42596-27111-39963-53414-21739</b></dt>
<dd><p>A keyword in double-quotes is an identifier.
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-50054-41546-44227-45565-32365-53294-59640-58817</b></dt>
<dd><p>The column names are "selectid", "order", "from", "detail".
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-50083-60579-41416-11234-29660-46304-14804-18223</b></dt>
<dd><p>The second argument is an integer constant, taken from the set of SQLITE_DBSTATUS options, that determines the parameter to interrogate.
<i>(source <a href="c3ref/db_status.html">c3ref/db_status.html</a>)</i></p></dd>

<dt><b>R-50098-46481-36528-36086-46875-01845-64248-25300</b></dt>
<dd><p>If the busy callback returns 0, then no additional attempts are made to access the database and SQLITE_BUSY or SQLITE_IOERR_BLOCKED is returned.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-50141-17598-64848-16921-53866-52555-58777-52662</b></dt>
<dd><p>The legacy_file_format pragma can be used to change set the specific behavior for any version of SQLite.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-50143-27238-56524-33998-35600-39903-63308-38872</b></dt>
<dd><p>For example: SELECT a FROM (SELECT x+y AS a FROM t1 WHERE z5 Would be rewritten using query flattening as: SELECT x+y AS a FROM t1 WHERE z5
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-50185-15050-31039-59683-34271-57411-13572-34990</b></dt>
<dd><p>sqlite3_initialize() will invoke sqlite3_os_init().
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-50194-36439-38643-58258-08094-53618-19496-51516</b></dt>
<dd><p>The right-hand side of the LIKE or GLOB must be either a string literal or a parameter bound to a string literal that does not begin with a wildcard character.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-50221-42915-63366-22900-20330-11785-03020-07712</b></dt>
<dd><p>The result of an IN or NOT IN operator is determined by the following matrix: Left operand is NULL Right operand contains NULL Right operand is an empty set Left operand found within right operand Result of IN operator Result of NOT IN operator no no no no false true does not matter no yes no false true no does not matter no yes true false no yes no no NULL NULL yes does not matter no does not matter NULL NULL
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/tkt-80e031a00f.test)</i></p></dd>

<dt><b>R-50227-03668-59884-25860-05974-05725-11856-44463</b></dt>
<dd><p>The descending index schema format (4) takes index sort order into account.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-50231-61912-55711-43261-48947-27443-07565-05746</b></dt>
<dd><p>In order for URI filenames to work, one or more of the following must be true: The SQLite library is compiled with the SQLITE_USE_URI compile-time option. The sqlite3_config(SQLITE_CONFIG_URI, 1); configuration option is set at application start-time. The SQLITE_OPEN_URI bit is OR-ed in with the set bits passed in as the 3rd parameter to the sqlite3_open_v2() interface.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-50239-29811-49313-60687-55127-24042-57114-25810</b></dt>
<dd><p>Once removed, the trigger definition is no longer present in the sqlite_master (or sqlite_temp_master) table and is not fired by any subsequent INSERT, UPDATE or DELETE statements.
<i>(source <a href="lang_droptrigger.html">lang_droptrigger.html</a>, checked-by: tcl/e_droptrigger.test)</i></p></dd>

<dt><b>R-50295-28419-15389-14310-31711-65097-63451-02333</b></dt>
<dd><p>Thus if the BETWEEN term ends up being used as an index constraint no tests are ever performed on that term.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-50299-05307-25514-21202-52371-12958-26129-48124</b></dt>
<dd><p>When an applicable constraint violation occurs, the IGNORE resolution algorithm skips the one row that contains the constraint violation and continues processing subsequent rows of the SQL statement as if nothing went wrong.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-50321-17074-07850-16410-29565-54320-62650-56739</b></dt>
<dd><p>This routine returns metadata about a specific column of a specific database table accessible using the database connection handle passed as the first function argument.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-50329-17145-27119-54152-42841-36375-05497-15742</b></dt>
<dd><p>If a query contains sub-selects, either as part of the FROM clause or as part of SQL expressions, then the output of EXPLAIN QUERY PLAN also includes a report for each sub-select.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-50417-27976-52850-55821-32477-44085-29701-53875</b></dt>
<dd><p><img src="images/syntax/comment-syntax.gif"><br>
<i>(source <a href="lang_comment.html">lang_comment.html</a>, checked-by: src/tokenize.c)</i></p></dd>

<dt><b>R-50442-34254-35455-58700-58965-62142-32020-28485</b></dt>
<dd><p>For nested transactions, use the SAVEPOINT and RELEASE commands.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-50542-62589-12148-25496-57313-35082-62636-01906</b></dt>
<dd><p>If the row that a BLOB handle points to is modified by an UPDATE, DELETE, or by ON CONFLICT side-effects then the BLOB handle is marked as "expired". This is true if any column of the row is changed, even a column other than the one the BLOB handle is open on.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-50544-32159-06733-53280-14429-20525-17917-44425</b></dt>
<dd><p><img src="images/syntax/expr.gif"><br>
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-50551-20166-10060-53242-13172-15723-06354-52489</b></dt>
<dd><p>In any database file that contains ptrmap pages, all b-tree root pages must come before any non-root b-tree page, cell payload overflow page, or freelist page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-50561-21716-49344-62594-61737-43195-59179-37313</b></dt>
<dd><p>SQLITE_NOMEM is returned if malloc() fails.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-50578-26484-60015-06758-51752-02916-33934-51751</b></dt>
<dd><p>The default setting for auto-vacuum is 0 or "none", unless the SQLITE_DEFAULT_AUTOVACUUM compile-time option is used.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-50609-16110-01780-38361-35457-31902-26275-51127</b></dt>
<dd><p>The sqlite3_update_hook() interface registers a callback function with the database connection identified by the first argument to be invoked whenever a row is updated, inserted or deleted.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-50610-58991-40013-53389-28738-38932-29911-53900</b></dt>
<dd><p>Database locks obtained by a connection in EXCLUSIVE mode may be released either by closing the database connection, or by setting the locking-mode back to NORMAL using this pragma and then accessing the database file (for read or write).
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-50629-09283-02529-31024-03182-51396-04180-35688</b></dt>
<dd><p>The trim(X,Y) function returns a string formed by removing any and all characters that appear in Y from both ends of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-50643-00929-23448-56040-53722-14691-11337-11208</b></dt>
<dd><p><img src="images/syntax/drop-index-stmt.gif"><br>
<i>(source <a href="lang_dropindex.html">lang_dropindex.html</a>)</i></p></dd>

<dt><b>R-50658-17415-26867-64238-49618-34933-22371-53108</b></dt>
<dd><p>One is the usual increment.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-50678-57776-62798-21946-06580-60998-12542-16606</b></dt>
<dd><p>If Y is an empty string then return X unchanged.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-50692-30432-42042-31887-42711-38421-24279-03942</b></dt>
<dd><p>The callback is invoked by SQLite after the commit has taken place and the associated write-lock on the database released, so the implementation may read, write or checkpoint the database as required.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-50747-49923-21483-58514-27398-43836-46861-05011</b></dt>
<dd><p>In WAL mode when synchronous is NORMAL (1), the WAL file is synchronized before each checkpoint and the database file is synchronized after each completed checkpoint and the WAL file header is synchronized when a WAL file begins to be reused after a checkpoint, but no sync operations occur during most transactions.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-50761-32325-45623-21011-38075-29398-65285-24375</b></dt>
<dd><p>If the SQL statement being executed returns any data, then SQLITE_ROW is returned each time a new row of data is ready for processing by the caller.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-50775-16353-43388-35823-42786-57944-23203-27410</b></dt>
<dd><p>Aggregate max() returns NULL if and only if there are no non-NULL values in the group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-50783-18148-34073-06561-41923-63733-07391-35046</b></dt>
<dd><p>SQLITE_DBSTATUS_LOOKASIDE_HIT This parameter returns the number malloc attempts that were satisfied using lookaside memory. Only the high-water value is meaningful; the current value is always zero.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-50786-24793-54635-21021-11581-63558-51983-08230</b></dt>
<dd><p>The sqlite3_backup_finish() interfaces releases all resources associated with the sqlite3_backup object.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-50811-36721-38303-45762-44578-12408-00845-45536</b></dt>
<dd><p>Return the index of an SQL parameter given its name.
<i>(source <a href="c3ref/bind_parameter_index.html">c3ref/bind_parameter_index.html</a>)</i></p></dd>

<dt><b>R-50828-45890-20777-56094-65034-42170-55450-47345</b></dt>
<dd><p>PRAGMA synchronous; PRAGMA synchronous = 0 | OFF | 1 | NORMAL | 2 | FULL; Query or change the setting of the "synchronous" flag.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-50854-53979-53797-24039-01336-17260-53892-24252</b></dt>
<dd><p>If the flags parameter is non-zero, then the BLOB is opened for read and write access.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-50876-17388-14336-15803-07010-49660-37830-24868</b></dt>
<dd><p>The pragmas schema_version and user_version are used to set or get the value of the schema-version and user-version, respectively.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-50920-12644-05555-11139-45005-54781-24239-28471</b></dt>
<dd><p>After a BEGIN IMMEDIATE, no other database connection will be able to write to the database or do a BEGIN IMMEDIATE or BEGIN EXCLUSIVE.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-50943-18433-57597-04082-04676-55042-26161-32461</b></dt>
<dd><p>Frequent inserts, updates, and deletes can cause the database file to become fragmented - where data for a single table or index is scattered around the database file.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-50953-26869-09407-63329-65116-60500-37653-24297</b></dt>
<dd><p>For example, to find all bounding boxes that overlap the Charlotte area: SELECT id FROM demo_index WHERE maxX>=-81.08 AND minX=35.00 AND minY
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-50962-21157-55350-61372-15327-22326-52750-26645</b></dt>
<dd><p>Let M be ((U-12)*32/255)-23. If P is greater than U-35 then the number of byte stored on the b-tree leaf page is the smaller of M+((P-M)%(U-4)) and U-35.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-50967-00383-06840-05833-11963-44567-45883-24614</b></dt>
<dd><p>Invoking this pragma is equivalent to calling the sqlite3_wal_checkpoint_v2() C interface with a 3rd parameter corresponding to the argument of the PRAGMA.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-50978-04100-22647-50936-30042-35626-47320-62232</b></dt>
<dd><p>If one operand has INTEGER, REAL or NUMERIC affinity and the other operand as TEXT or NONE affinity then NUMERIC affinity is applied to other operand.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-50991-36730-61115-19569-38902-10025-13040-27195</b></dt>
<dd><p>The julianday() function returns the Julian day - the number of days since noon in Greenwich on November 24, 4714 B.C. (Proleptic Gregorian calendar).
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-51001-58728-23268-57802-19223-01595-20066-01281</b></dt>
<dd><p>If sqlite3_malloc() fails during the processing of either routine (for example during a conversion from UTF-8 to UTF-16) then a NULL pointer is returned.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-51011-20077-64132-12410-55765-38017-02998-57581</b></dt>
<dd><p>The results of an ANALYZE command are only available to database connections that are opened after the ANALYZE command completes.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-51039-44840-65130-09775-42940-11077-05048-04287</b></dt>
<dd><p>The foreign key declared as part of table child4 is an error because even though the parent key column is indexed, the index is not UNIQUE.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-51077-27219-05589-60630-09467-24342-14957-57780</b></dt>
<dd><p>The sqlite3_bind_parameter_name(P,N) interface returns the name of the N-th SQL parameter in the prepared statement P.
<i>(source <a href="c3ref/bind_parameter_name.html">c3ref/bind_parameter_name.html</a>)</i></p></dd>

<dt><b>R-51090-01319-14064-12731-11996-25271-12036-18507</b></dt>
<dd><p>To specify a ROWID manually, just include it in the list of values to be inserted. For example: CREATE TABLE test1(a INT, b TEXT); INSERT INTO test1(rowid, a, b) VALUES(123, 5, 'hello');
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-51132-22354-55296-53634-47929-60689-49370-19301</b></dt>
<dd><p>The fragment is optional. If present, it is ignored.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-51202-43754-48199-60556-57882-64692-40949-61434</b></dt>
<dd><p>The last transaction started will be the first transaction committed or rolled back.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-51206-57397-04624-50040-55912-00290-07116-44966</b></dt>
<dd><p>The sqlite3_result_int() interface sets the return value of the application-defined function to be the 32-bit signed integer value given in the 2nd argument.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-51232-50224-58506-40920-61688-18757-44131-05457</b></dt>
<dd><p>The collation sequence used to compare two text values is determined as if the columns of the left and right-hand SELECT statements were the left and right-hand operands of the equals (=) operator, except that greater precedence is not assigned to a collation sequence specified with the postfix COLLATE operator.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-51243-03259-14628-62602-22056-51212-17455-10922</b></dt>
<dd><p>Otherwise, the BINARY collating function is used for comparison.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-51255-43746-15106-11095-25505-08076-41908-14797</b></dt>
<dd><p>For example, given the database schema: CREATE TABLE t1(c1 VARIANT); and the following statement to be compiled: SELECT c1 + 1, c1 FROM t1; this routine would return the string "VARIANT" for the second result column (i==1), and a NULL pointer for the first result column (i==0).
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-51278-32108-12212-46077-36246-55134-53199-48747</b></dt>
<dd><p>SQLite interprets the error message string from sqlite3_result_error() as UTF-8.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-51332-60960-52674-22540-45151-35167-25354-18137</b></dt>
<dd><p>Zero or more escape sequences of the form "%HH" (where H represents any hexadecimal digit) can occur in the path, query string, or fragment.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-51343-23764-31964-03774-37293-59817-59078-38155</b></dt>
<dd><p>This technique allows multiple concurrent readers to view different versions of the database content simultaneously.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-51351-46040-41242-47423-32245-43014-65487-00017</b></dt>
<dd><p>In some pragmas, the database name is meaningless and is simply ignored.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-51358-63229-53880-11808-10105-25877-37226-63676</b></dt>
<dd><p>If the default VFS is unregistered, another VFS is chosen as the default. The choice for the new VFS is arbitrary.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-51359-17496-64791-11531-01433-14001-31199-61206</b></dt>
<dd><p>The infix LIKE operator is implemented by calling the application-defined SQL functions like(Y,X) or like(Y,X,Z).
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-51370-13632-41258-48157-25813-10718-36175-44493</b></dt>
<dd><p>If the integer at offset 52 is zero then pointer-map (ptrmap) pages are omitted from the database file and neither auto_vacuum nor incremental_vacuum are supported.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-51445-09984-56297-19281-17742-25631-52037-59978</b></dt>
<dd><p>The return value of the sqlite3_threadsafe() function shows only the compile-time setting of thread safety, not any run-time changes to that setting made by sqlite3_config(). In other words, the return value from sqlite3_threadsafe() is unchanged by calls to sqlite3_config().
<i>(source <a href="c3ref/threadsafe.html">c3ref/threadsafe.html</a>)</i></p></dd>

<dt><b>R-51463-25634-03361-45717-43677-30720-21925-17287</b></dt>
<dd><p>Attempts to increase a limit above its hard upper bound are silently truncated to the hard upper bound.
<i>(source <a href="c3ref/limit.html">c3ref/limit.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-51469-36013-06451-37309-14378-27141-44520-41230</b></dt>
<dd><p>Unless SQLite is running in "auto_vacuum=FULL" mode, when a large amount of data is deleted from the database file it leaves behind empty space, or "free" database pages.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-51477-38549-04689-08940-31198-16817-35894-65201</b></dt>
<dd><p><img src="images/syntax/reindex-stmt.gif"><br>
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-51478-11146-41529-00991-24938-53832-30881-29241</b></dt>
<dd><p>A trigger may be specified to fire whenever a DELETE, INSERT, or UPDATE of a particular database table occurs, or whenever an UPDATE occurs on on one or more specified columns of a table.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-51513-12026-58956-15151-33280-52344-26081-14635</b></dt>
<dd><p>The last_insert_rowid() SQL function is a wrapper around the sqlite3_last_insert_rowid() C/C++ interface function.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-51566-43011-05614-02432-26866-46296-63155-42509</b></dt>
<dd><p>Otherwise, the storage class of the result value is determined by applying the rules for determining column affinity to the <type-name> specified as part of the CAST expression.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-51589-21047-55624-25191-60611-24178-35591-54439</b></dt>
<dd><p>The fifth argument, xCallback, is a pointer to the collating function.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-51594-01886-40324-04229-65116-14684-49683-32490</b></dt>
<dd><p>The blocked connections unlock-notify callback may also be canceled by closing the blocked connection using sqlite3_close().
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-51608-43497-31902-60107-31973-18527-41260-25807</b></dt>
<dd><p>However, if SQLite is compiled with the SQLITE_OMIT_AUTOINIT compile-time option, then the automatic calls to sqlite3_initialize() are omitted and the application must call sqlite3_initialize() directly prior to using any other SQLite interface.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-51717-16874-57746-23780-03416-60181-48500-48749</b></dt>
<dd><p>The sqlite3_value objects that are passed as parameters into the implementation of application-defined SQL functions are protected.
<i>(source <a href="c3ref/value.html">c3ref/value.html</a>)</i></p></dd>

<dt><b>R-51769-32730-31243-02540-29499-30609-34457-46360</b></dt>
<dd><p>The PRAGMA recursive_triggers setting does not not affect the operation of foreign key actions.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-51848-06142-00211-08018-28076-33620-42817-53867</b></dt>
<dd><p>When grouping values with the GROUP BY clause values with different storage classes are considered distinct, except for INTEGER and REAL values which are considered equal if they are numerically equal.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-51849-15852-01721-49206-07191-28976-11047-33073</b></dt>
<dd><p>This routine can be used to find the number of SQL parameters in a prepared statement.
<i>(source <a href="c3ref/bind_parameter_count.html">c3ref/bind_parameter_count.html</a>)</i></p></dd>

<dt><b>R-51873-39618-36887-07740-29910-44227-64994-45614</b></dt>
<dd><p>The page size for a database file is determined by the 2-byte integer located at an offset of 16 bytes from the beginning of the database file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-51885-22945-13735-45717-24021-29019-43116-06433</b></dt>
<dd><p>If the fourth parameter is a NULL pointer then the default sqlite3_vfs object is used.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-51928-56409-25580-29954-36146-50977-06316-16623</b></dt>
<dd><p>If the Y argument is omitted, it is assumed to be 0.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-51971-34154-03806-52008-63597-27653-22801-35864</b></dt>
<dd><p>A value of 3 means UTF-16be.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-51988-01124-61073-07192-64442-28469-58291-20254</b></dt>
<dd><p>The single row of result-set data created by evaluating the aggregate and non-aggregate expressions in the result-set forms the result of an aggregate query without a GROUP BY clause.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-52009-56800-02876-38410-52331-04439-27959-64251</b></dt>
<dd><p>When the same named SQL parameter is used more than once, second and subsequent occurrences have the same index as the first occurrence.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-52058-53560-05683-08265-32399-18917-51840-34472</b></dt>
<dd><p>The difference between this pragma and cache_size is that the value set here persists across database connections.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-52064-29026-64235-14547-56898-38639-53411-40731</b></dt>
<dd><p>Then valid content of the WAL is transferred into the database file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-52075-50256-20099-08079-26279-42286-42612-03538</b></dt>
<dd><p>WAL databases can be accessed in EXCLUSIVE mode without the use of shared memory.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-52077-36536-13385-22926-52611-10252-46116-41175</b></dt>
<dd><p>If M is the size of the prior allocation, then min(N,M) bytes of the prior allocation are copied into the beginning of buffer returned by sqlite3_realloc() and the prior allocation is freed.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-52087-12043-18539-27674-65294-02537-52169-03316</b></dt>
<dd><p>The GLOB operator is similar to LIKE but uses the Unix file globbing syntax for its wildcards.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-52095-61560-15875-18075-33970-20286-17473-17110</b></dt>
<dd><p>Compute the time since the unix epoch in seconds (like strftime('%s','now') except includes fractional part): SELECT (julianday('now') - 2440587.5)*86400.0;
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-52112-44167-29557-32082-32253-19519-12143-63610</b></dt>
<dd><p>Disable the authorizer by installing a NULL callback.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-52133-27554-45735-12827-00228-57600-39512-14706</b></dt>
<dd><p>The mmapped file is in the same directory as the database and has the same name as the database with a "-shm" suffix appended.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-52155-58082-26086-07987-14656-12581-61413-44017</b></dt>
<dd><p>The database file is truncated by the same amount.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-52173-30215-53600-04024-57111-07523-42614-02715</b></dt>
<dd><p>A new entry is inserted into the table for each row of data returned by executing the SELECT statement.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-52173-44778-34853-40579-46358-28940-10008-53316</b></dt>
<dd><p>The REINDEX command is used to delete and recreate indices from scratch.
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-52186-13726-13182-41140-39915-38956-00015-42302</b></dt>
<dd><p>When temp_store is MEMORY (2) temporary tables and indices are kept in as if they were pure in-memory databases memory.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-52222-01037-23896-59525-00104-22609-06802-34964</b></dt>
<dd><p>As of SQLite version 3.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-52223-27275-49862-60499-62848-12500-30975-52178</b></dt>
<dd><p>The update hook is not invoked when internal system tables are modified (i.e. sqlite_master and sqlite_sequence).
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-52227-24890-51100-17044-40956-25330-61806-31356</b></dt>
<dd><p>At this time SQLite supports only FOR EACH ROW triggers, not FOR EACH STATEMENT triggers.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-52274-63421-40918-10601-47692-52936-61315-09269</b></dt>
<dd><p>If no successful INSERTs have ever occurred on that database connection, zero is returned.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-52275-55503-36173-27620-56866-61017-01277-04274</b></dt>
<dd><p>When the right operand is an empty set, the result of IN is false and the result of NOT IN is true, regardless of the left operand and even if the left operand is NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/tkt-80e031a00f.test)</i></p></dd>

<dt><b>R-52283-25228-19541-55999-19496-13674-36111-40642</b></dt>
<dd><p>This second query would find both entry 1 (the SQLite.org office) which is entirely contained within the query box and also the 12th Congressional District which extends well outside the query box but still overlaps the query box.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-52293-58497-02008-48685-44667-03336-29126-34066</b></dt>
<dd><p>If this option is set to an empty string the default VFS object is used.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-52321-47198-00229-54834-38791-09285-35560-26604</b></dt>
<dd><p>The sqlite3_result_nomem() interface causes SQLite to throw an error indicating that a memory allocation failed.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-52324-04086-24847-26987-35436-53811-31141-55641</b></dt>
<dd><p>No error is returned when the IGNORE conflict resolution algorithm is used.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-52324-13814-42283-42747-08778-19058-01136-41555</b></dt>
<dd><p>If the resetFlg is true, then the counter is reset to zero after this interface call returns.
<i>(source <a href="c3ref/stmt_status.html">c3ref/stmt_status.html</a>)</i></p></dd>

<dt><b>R-52382-54248-22062-55622-65270-38332-60427-10536</b></dt>
<dd><p>Each table in SQLite may have at most one PRIMARY KEY.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-52422-13996-14748-65406-33477-57912-42976-47996</b></dt>
<dd><p>This optimization is completely invisible at the SQL level and can only be detected by examining the raw bits of the database file.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-52476-28732-49113-60930-43191-11602-63829-33469</b></dt>
<dd><p>If the new limit is a negative number, the limit is unchanged.
<i>(source <a href="c3ref/limit.html">c3ref/limit.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-52479-14335-30324-56170-28904-55659-58035-31825</b></dt>
<dd><p>If the sqlite_sequence row for an AUTOINCREMENT table does not exist when the AUTOINCREMENT table is updated, then a new sqlite_sequence row is created.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-52486-21352-15520-42418-18389-29845-28843-27004</b></dt>
<dd><p>Expressed in SQL, this means that for every row in the track table, the following expression evaluates to true: trackartist IS NULL OR EXISTS(SELECT 1 FROM artist WHERE artistid=trackartist)
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-52494-36749-63981-51564-54926-02873-46485-09219</b></dt>
<dd><p>SQLITE_DBSTATUS_CACHE_WRITE This parameter returns the number of dirty cache entries that have been written to disk. Specifically, the number of pages written to the wal file in wal mode databases, or the number of pages written to the database file in rollback mode databases. Any pages written as part of transaction rollback or database recovery operations are not included. If an IO or other error occurs while writing a page to disk, the effect on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-52502-32617-59424-01442-19182-34788-24122-07279</b></dt>
<dd><p>If a suffix is added to the zFilename parameter, it will consist of a single "-" character followed by no more than 11 alphanumeric and/or "-" characters.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-52534-13240-64685-34397-29104-02174-11063-25641</b></dt>
<dd><p>Both simple and aggregate functions are supported.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-52572-02078-29727-01284-61421-00978-11983-52043</b></dt>
<dd><p>For the purposes of determining the uniqueness of primary key values, NULL values are considered distinct from all other values, including other NULLs.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-52584-04009-09183-39351-22068-55932-63814-54169</b></dt>
<dd><p>The rowid value can be accessed using one of the special case-independent names "rowid", "oid", or "_rowid_" in place of a column name.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-52585-35928-11217-60344-47086-04619-13740-01929</b></dt>
<dd><p>The max() aggregate function returns the maximum value of all values in the group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-52629-38967-65267-07230-17348-21667-50787-63164</b></dt>
<dd><p>The first parameter passed to the callback function when it is invoked is a copy of the third parameter passed to sqlite3_wal_hook() when registering the callback.
<i>(source <a href="c3ref/wal_hook.html">c3ref/wal_hook.html</a>)</i></p></dd>

<dt><b>R-52638-40483-64904-57206-41972-21673-15082-17271</b></dt>
<dd><p>All terms of the WHERE clause are analyzed to see if they can be satisfied using indices.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-52669-16467-62181-15890-38253-37577-17953-50258</b></dt>
<dd><p>The first parameter is the prepared statement that implements the SELECT statement.
<i>(source <a href="c3ref/column_name.html">c3ref/column_name.html</a>)</i></p></dd>

<dt><b>R-52694-53361-57445-28315-51395-45009-40157-30579</b></dt>
<dd><p><img src="images/syntax/delete-stmt-limited.gif"><br>
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-52722-37312-59730-59343-41826-18723-03600-14255</b></dt>
<dd><p>The third parameter is a pointer to the implementation of the virtual table module.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-52747-41357-44885-51166-33553-21008-38098-18892</b></dt>
<dd><p>In some cases, VACUUM may also reduce the number of partially filled pages in the database, reducing the size of the database file further.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>)</i></p></dd>

<dt><b>R-52756-41993-17034-10899-10921-49986-45271-10557</b></dt>
<dd><p>This function is a wrapper around the sqlite3_total_changes() C/C++ interface.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-52765-50368-61769-61482-53990-53504-23409-31144</b></dt>
<dd><p>Before the path or query components of a URI filename are interpreted, they are encoded using UTF-8 and all hexadecimal escape sequences replaced by a single byte containing the corresponding octet.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-52786-44878-02459-51231-59841-41905-39578-10951</b></dt>
<dd><p>SQLite defines three built-in collating functions:
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-52830-19955-18632-16869-37447-04753-28772-23279</b></dt>
<dd><p>A URI filename can optionally be followed by a query string.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-52864-57317-33695-37364-46935-23221-38785-50224</b></dt>
<dd><p>For rows that define views, triggers, and virtual tables, the rootpage column is 0 or NULL.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-52874-10360-37775-63380-13039-47698-21027-19281</b></dt>
<dd><p>If the locking mode is NORMAL when first entering WAL journal mode, then the locking mode can be changed between NORMAL and EXCLUSIVE and back again at any time and without needing to exit WAL journal mode.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-52885-58365-34589-60224-33569-54251-15646-22637</b></dt>
<dd><p>The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-52892-55360-15524-03344-29674-00712-56313-40382</b></dt>
<dd><p>This routine registers an authorizer callback with a particular database connection, supplied in the first argument.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-52918-29603-61249-39870-15213-51167-58462-10808</b></dt>
<dd><p>Names are case sensitive.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-52940-53106-43126-08219-27163-02651-42624-21494</b></dt>
<dd><p>SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL This parameter returns the number malloc attempts that might have been satisfied using lookaside memory but failed due to all lookaside memory already being in use. Only the high-water value is meaningful; the current value is always zero.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-52944-64228-64118-58952-09671-12918-63425-40021</b></dt>
<dd><p>The following is a complete list of valid strftime() substitutions: %d day of month: 00 %f fractional seconds: SS.SSS %H hour: 00-24 %j day of year: 001-366 %J Julian day number %m month: 01-12 %M minute: 00-59 %s seconds since 1970-01-01 %S seconds: 00-59 %w day of week 0-6 with Sunday==0 %W week of year: 00-53 %Y year: 0000-9999 %% %
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-52949-04679-63640-64673-56558-51308-22602-53102</b></dt>
<dd><p>When synchronous is FULL (2), the SQLite database engine will use the xSync method of the VFS to ensure that all content is safely written to the disk surface prior to continuing.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-52979-05948-62253-13959-08616-19782-00231-65048</b></dt>
<dd><p>The sqlite3_create_module() interface is equivalent to sqlite3_create_module_v2() with a NULL destructor.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-53027-36579-32871-13496-61151-41736-22715-11192</b></dt>
<dd><p>8 4 The "Page Count" - The number of pages in the next segment of the journal, or -1 to mean all content to the end of the file
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-53051-53235-07152-09784-03393-10214-17604-64196</b></dt>
<dd><p>This function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the database connection was opened.
<i>(source <a href="c3ref/total_changes.html">c3ref/total_changes.html</a>)</i></p></dd>

<dt><b>R-53088-19343-27677-16808-20266-14528-30816-49365</b></dt>
<dd><p>The incremental blob I/O routines can only read or overwriting existing blob content; they cannot change the size of a blob.
<i>(source <a href="c3ref/blob_bytes.html">c3ref/blob_bytes.html</a>)</i></p></dd>

<dt><b>R-53099-14426-29346-17813-35365-40265-31413-38800</b></dt>
<dd><p>A special SQL function RAISE() may be used within a trigger-program,
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-53136-36436-42952-39731-33575-56749-34030-56272</b></dt>
<dd><p><img src="images/syntax/drop-view-stmt.gif"><br>
<i>(source <a href="lang_dropview.html">lang_dropview.html</a>, checked-by: tcl/e_dropview.test)</i></p></dd>

<dt><b>R-53159-40138-61672-64945-35086-06602-19204-21226</b></dt>
<dd><p>The ROWID for each row is unique among all rows in the same table.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-53195-24238-49524-21833-03175-16230-23443-12553</b></dt>
<dd><p>If sqlite3_backup_step(B,N) successfully finishes copying all pages from source to destination, then it returns SQLITE_DONE.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-53205-22341-54375-46881-03757-15307-06901-24042</b></dt>
<dd><p>The fourth parameter, eTextRep, specifies what text encoding this SQL function prefers for its parameters.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-53212-31827-50531-28804-40351-35480-14928-34534</b></dt>
<dd><p>This function is used to move an existing blob handle so that it points to a different row of the same database table.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-53264-40062-38571-39514-17235-18477-59967-25878</b></dt>
<dd><p>If the Nth column returned by the statement is an expression or subquery and is not a column value, then all of these functions return NULL.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-53334-49168-61696-52419-22788-21864-59883-48546</b></dt>
<dd><p>For the index above and WHERE clause like this: ... WHERE a=5 AND b IN (1,2,3) AND c>12 AND d='hello' Only columns a, b, and c of the index would be usable. The d column would not be usable because it occurs to the right of c and c is constrained only by inequalities.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-53341-35419-60805-00614-53630-15165-00520-17900</b></dt>
<dd><p>Regardless of whether or not the limit was changed, the sqlite3_limit() interface returns the prior value of the limit.
<i>(source <a href="c3ref/limit.html">c3ref/limit.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-53354-47195-06587-01867-57045-45178-06835-07822</b></dt>
<dd><p>CREATE TABLE t1( x INTEGER PRIMARY KEY, a, /* collating sequence BINARY */ b COLLATE BINARY, /* collating sequence BINARY */ c COLLATE RTRIM, /* collating sequence RTRIM */ d COLLATE NOCASE /* collating sequence NOCASE */ ); /* x a b c d */ INSERT INTO t1 VALUES(1,'abc','abc', 'abc ','abc'); INSERT INTO t1 VALUES(2,'abc','abc', 'abc', 'ABC'); INSERT INTO t1 VALUES(3,'abc','abc', 'abc ', 'Abc'); INSERT INTO t1 VALUES(4,'abc','abc ','ABC', 'abc'); /* Text comparison a=b is performed using the BINARY collating sequence. */ SELECT x FROM t1 WHERE a = b ORDER BY x; --result 1 2 3 /* Text comparison a=b is performed using the RTRIM collating sequence. */ SELECT x FROM t1 WHERE a = b COLLATE RTRIM ORDER BY x; --result 1 2 3 4 /* Text comparison d=a is performed using the NOCASE collating sequence. */ SELECT x FROM t1 WHERE d = a ORDER BY x; --result 1 2 3 4 /* Text comparison a=d is performed using the BINARY collating sequence. */ SELECT x FROM t1 WHERE a = d ORDER BY x; --result 1 4 /* Text comparison 'abc'=c is performed using the RTRIM collating sequence. */ SELECT x FROM t1 WHERE 'abc' = c ORDER BY x; --result 1 2 3 /* Text comparison c='abc' is performed using the RTRIM collating sequence. */ SELECT x FROM t1 WHERE c = 'abc' ORDER BY x; --result 1 2 3 /* Grouping is performed using the NOCASE collating sequence (Values ** 'abc', 'ABC', and 'Abc' are placed in the same group). */ SELECT count(*) FROM t1 GROUP BY d ORDER BY 1; --result 4 /* Grouping is performed using the BINARY collating sequence. 'abc' and ** 'ABC' and 'Abc' form different groups */ SELECT count(*) FROM t1 GROUP BY (d || '') ORDER BY 1; --result 1 1 2 /* Sorting or column c is performed using the RTRIM collating sequence. */ SELECT x FROM t1 ORDER BY c, x; --result 4 1 2 3 /* Sorting of (c||'') is performed using the BINARY collating sequence. */ SELECT x FROM t1 ORDER BY (c||''), x; --result 4 2 3 1 /* Sorting of column c is performed using the NOCASE collating sequence. */ SELECT x FROM t1 ORDER BY c COLLATE NOCASE, x; --result 2 4 3 1
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-53367-44371-39189-42145-26716-53190-00022-58526</b></dt>
<dd><p>An expression of the form "CAST(expr AS type)" has an affinity that is the same as a column with a declared type of "type".
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-53378-00429-63656-00839-65291-28098-14033-06508</b></dt>
<dd><p>If this variable is a NULL pointer, then SQLite performs a search for an appropriate temporary file directory.
<i>(source <a href="c3ref/temp_directory.html">c3ref/temp_directory.html</a>)</i></p></dd>

<dt><b>R-53396-21131-15528-14238-10778-33068-40002-19251</b></dt>
<dd><p>Whether or not any conversions are attempted before the comparison takes place depends on the affinity of the operands.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-53473-04519-45856-48059-38257-59187-05509-43871</b></dt>
<dd><p>If the Nth column of the result set is an expression or subquery, then a NULL pointer is returned.
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-53478-59161-12237-18673-01094-03147-04077-16034</b></dt>
<dd><p>The flags argument to xAccess() may be SQLITE_ACCESS_EXISTS to test for the existence of a file, or SQLITE_ACCESS_READWRITE to test whether a file is readable and writable, or SQLITE_ACCESS_READ to test whether a file is at least readable.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-53505-01828-44329-62678-22950-03794-01329-32376</b></dt>
<dd><p>The lookaside memory configuration for a database connection can only be changed when that connection is not currently using lookaside memory, or in other words when the "current value" returned by sqlite3_db_status(D,SQLITE_CONFIG_LOOKASIDE,...) is zero. Any attempt to change the lookaside memory configuration when lookaside memory is in use leaves the configuration unchanged and returns SQLITE_BUSY.
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>)</i></p></dd>

<dt><b>R-53520-01610-10679-40002-23178-34440-17674-23927</b></dt>
<dd><p>The sqlite3_backup_step() might return SQLITE_READONLY if the destination database was opened read-only, or the destination database is using write-ahead-log journaling and the destination and source page sizes differ, or the destination database is an in-memory database and the destination and source page sizes differ.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-53528-47027-65277-23622-06185-25684-15860-07330</b></dt>
<dd><p>BINARY - Compares string data using memcmp(), regardless of text encoding.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-53536-42575-40544-57743-11521-12112-01903-53371</b></dt>
<dd><p>The sqlite3_libversion() function returns a pointer to the to the sqlite3_version[] string constant.
<i>(source <a href="c3ref/libversion.html">c3ref/libversion.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-53547-37067-09638-20252-03189-64013-38251-09094</b></dt>
<dd><p>This pragma is a no-op within a transaction; foreign key constraint enforcement may only be enabled or disabled when there is no pending BEGIN or SAVEPOINT.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-53670-03373-29503-41803-42706-56849-33971-45159</b></dt>
<dd><p>The unary operator + is a no-op.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-53691-30751-62031-38708-40334-09664-05197-36475</b></dt>
<dd><p>The main database file has the name "main".
<i>(source <a href="c3ref/db_filename.html">c3ref/db_filename.html</a>)</i></p></dd>

<dt><b>R-53711-53051-63617-01481-37646-60114-42903-51945</b></dt>
<dd><p>20 4 Size of a disk sector assumed by the process that wrote this journal.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-53735-47017-47286-05670-21598-63500-17525-58856</b></dt>
<dd><p>If the expression is an aggregate expression, it is evaluated across all rows in the group.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-53738-31673-08165-38905-15185-11459-21580-35235</b></dt>
<dd><p>With one exception, if a table has a primary key that consists of a single column, and the declared type of that column is "INTEGER" in any mixture of upper and lower case, then the column becomes an alias for the rowid.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-53739-41794-61362-55314-61050-59238-26275-11948</b></dt>
<dd><p>If this global variable is made to point to a string which is the name of a folder (a.k.a. directory), then all temporary files created by SQLite when using a built-in VFS will be placed in that directory.
<i>(source <a href="c3ref/temp_directory.html">c3ref/temp_directory.html</a>)</i></p></dd>

<dt><b>R-53739-48047-10287-11519-42885-23496-56458-39764</b></dt>
<dd><p>The new row must meet the same criteria as for sqlite3_blob_open() - it must exist and there must be either a blob or text value stored in the nominated column.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-53840-04566-60870-24364-04261-56819-05766-28477</b></dt>
<dd><p>If the specified column is "rowid", "oid" or "_rowid_" and an INTEGER PRIMARY KEY column has been explicitly declared, then the output parameters are set for the explicitly declared column.
<i>(source <a href="c3ref/table_column_metadata.html">c3ref/table_column_metadata.html</a>)</i></p></dd>

<dt><b>R-53900-18983-14254-27441-52776-55824-16298-22482</b></dt>
<dd><p>SQLite will invoke the xMutexEnd() method when sqlite3_shutdown() is called, but only if the prior call to xMutexInit returned SQLITE_OK.
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-53924-08809-36668-27423-20589-58335-57366-25050</b></dt>
<dd><p>If there is more than one non-aggregate expression in the result-set, then all such expressions are evaluated for the same row.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-53946-02894-03994-04896-49185-13086-04703-60466</b></dt>
<dd><p>These routines return information about a single column of the current result row of a query.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-53968-51642-29002-32833-59790-62444-61146-02233</b></dt>
<dd><p>Configuring an ON UPDATE or ON DELETE action does not mean that the foreign key constraint does not need to be satisfied.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-53980-12800-60180-40278-22190-42721-14037-38149</b></dt>
<dd><p>The parameter name must be given in UTF-8 even if the original statement was prepared from UTF-16 text using sqlite3_prepare16_v2().
<i>(source <a href="c3ref/bind_parameter_index.html">c3ref/bind_parameter_index.html</a>)</i></p></dd>

<dt><b>R-53994-11873-49794-19921-48320-57211-64823-29959</b></dt>
<dd><p>The 4-byte big-endian integer at offset 60 is the user version which is set and queried by the user_version pragma.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-53994-49363-33213-19869-13324-28404-40753-33810</b></dt>
<dd><p>If the authority section is omitted, then the path is an absolute pathname if it begins with the "/" character (ASCII code 0x2f) and is a relative pathname otherwise.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-54004-36093-36395-32758-54573-06118-04501-54991</b></dt>
<dd><p><img src="images/syntax/analyze-stmt.gif"><br>
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-54020-18969-35305-43404-58494-09530-16898-08730</b></dt>
<dd><p>The minimum key value is 1.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-54034-37639-41781-11443-11424-21021-61180-47109</b></dt>
<dd><p>If the 3rd parameter to the sqlite3_result_text* interfaces is negative, then SQLite takes result text from the 2nd parameter through the first zero character.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-54035-60779-28299-56700-44695-40391-47008-32723</b></dt>
<dd><p>The soft heap limit is "soft" because even though SQLite strives to stay below the limit, it will exceed the limit rather than generate an SQLITE_NOMEM error.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-54043-63736-37256-25763-10275-07807-60527-63818</b></dt>
<dd><p>SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE This parameter returns the number malloc attempts that might have been satisfied using lookaside memory but failed due to the amount of memory requested being larger than the lookaside slot size. Only the high-water value is meaningful; the current value is always zero.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-54046-48600-47086-52711-24230-00638-25946-34111</b></dt>
<dd><p>When comparing values as a result of a USING clause, the normal rules for handling affinities, collation sequences and NULL values in comparisons apply.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-54056-32692-17641-45055-32204-64266-46866-10760</b></dt>
<dd><p>An operand of a comparison is considered to have an explicit collating function assignment (rule 1 above) if any subexpression of the operand uses the postfix COLLATE operator.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-54070-42228-38469-35862-16733-44078-45306-08239</b></dt>
<dd><p>External mutex implementations are only required to provide these routines if SQLITE_DEBUG is defined and if NDEBUG is not defined.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-54100-20147-64333-16407-13054-37480-42962-25139</b></dt>
<dd><p>The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS is always 0.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-54105-45069-36894-51687-59300-29186-60662-50296</b></dt>
<dd><p>Changing the foreign_keys setting affects the execution of all statements prepared using the database connection, including those prepared before the setting was changed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-54142-41346-32014-56293-25636-63110-30822-28140</b></dt>
<dd><p>The properties of the DROP TABLE and ALTER TABLE commands described above only apply if foreign keys are enabled.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-54239-31426-55452-55824-21990-15891-49986-64798</b></dt>
<dd><p>SQLite interprets the string from sqlite3_result_error16() as UTF-16 in native byte order.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-54247-16293-07269-23655-49512-58705-42337-09758</b></dt>
<dd><p>An application may invoke sqlite3_create_function() or sqlite3_create_function16() multiple times with the same function but with different values of eTextRep.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-54260-17937-27956-02792-29631-43521-06975-25593</b></dt>
<dd><p>When a new row is inserted into an SQLite table, the ROWID can either be specified as part of the INSERT statement or it can be assigned automatically by the database engine.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-54272-29032-18669-23400-04748-20753-02544-31833</b></dt>
<dd><p>If N is negative, all remaining source pages are copied.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-54300-53753-62091-17265-11095-28915-32646-41399</b></dt>
<dd><p>16 4 Initial size of the database in pages
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-54311-01106-42501-53513-08065-15127-61126-46142</b></dt>
<dd><p>If the same thread tries to enter any other kind of mutex more than once, the behavior is undefined. SQLite will never exhibit such behavior in its own use of mutexes.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-54349-27488-43340-32008-63380-57974-11339-53896</b></dt>
<dd><p>This pragma uses sqlite3_create_function() to overload the LIKE and GLOB functions, which may override previous implementations of LIKE and GLOB registered by the application.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-54351-00952-01269-06196-19744-61150-46119-47888</b></dt>
<dd><p>Each entry in an SQLite table has a unique 64-bit signed integer key called the "rowid".
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-54378-38553-30727-53168-14484-58684-10446-07107</b></dt>
<dd><p>If numerical data is inserted into a column with TEXT affinity it is converted into text form before being stored.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-54466-46756-05959-55829-53224-11229-48614-30148</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to change the threading mode from its default value of Single-thread and so sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_SINGLETHREAD configuration option.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-54470-63023-21139-04882-06661-43927-15074-46369</b></dt>
<dd><p>Let X be ((U-12)*64/255)-23). If the payload size P is less than or equal to X then the entire payload is stored on the b-tree page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-54493-30181-37798-05514-46235-61023-30019-39106</b></dt>
<dd><p>The sqlite3_soft_heap_limit64() interface sets and/or queries the soft limit on the amount of heap memory that may be allocated by SQLite.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-54570-56961-44503-61162-35160-23196-51562-41516</b></dt>
<dd><p>If the SQLITE_OPEN_NOMUTEX flag is set, then the database connection opens in the multi-thread threading mode as long as the single-thread mode has not been set at compile-time or start-time.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-54577-28142-28825-55724-03077-07669-46571-22310</b></dt>
<dd><p>If a database name is specified as part of an object reference, it must be either "main", or "temp" or the name of an attached database.
<i>(source <a href="lang_naming.html">lang_naming.html</a>, checked-by: tcl/e_resolve.test)</i></p></dd>

<dt><b>R-54577-32145-57305-62671-23422-08381-26358-15334</b></dt>
<dd><p>Compute the date and time given a unix timestamp 1092941466. SELECT datetime(1092941466, 'unixepoch');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-54601-24304-11179-56514-33634-52647-04973-51125</b></dt>
<dd><p>If the fifth argument is the special value SQLITE_STATIC, then SQLite assumes that the information is in static, unmanaged space and does not need to be freed.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-54671-04027-22136-36062-14023-39261-02732-05176</b></dt>
<dd><p>The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-54721-48557-63407-03546-07641-33336-53635-34168</b></dt>
<dd><p>If there is no ELSE expression and none of the WHEN expressions produce a result equal to the base expression, the overall result is NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-54737-49034-36463-44594-64965-25751-29163-41666</b></dt>
<dd><p>The cell pointers are arranged in key order with left-most cell (the cell with the smallest key) first and the right-most cell (the cell with the largest key) last.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-54780-55967-39790-26433-61749-36346-50867-30615</b></dt>
<dd><p>The datetime() function returns "YYYY-MM-DD HH:MM:SS".
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-54803-38092-34820-21265-62960-31612-41519-43581</b></dt>
<dd><p>If any problems are found, then strings are returned (as multiple rows with a single column per row) which describe the problems.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-54851-61718-16281-07577-07418-35165-40352-13557</b></dt>
<dd><p>Closes an open BLOB handle.
<i>(source <a href="c3ref/blob_close.html">c3ref/blob_close.html</a>)</i></p></dd>

<dt><b>R-54861-24788-49510-30905-13949-34501-29343-44000</b></dt>
<dd><p>Note that you must use the keyword CROSS in order to disable the table reordering optimization; INNER JOIN, NATURAL JOIN, JOIN, and other similar combinations work just like a comma join in that the optimizer is free to reorder tables as it sees fit.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-54898-34554-42956-11210-21105-01944-03178-39152</b></dt>
<dd><p>When casting a TEXT value to REAL, the longest possible prefix of the value that can be interpreted as a real number is extracted from the TEXT value and the remainder ignored.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-54914-35280-25250-15027-11750-01727-31556-09932</b></dt>
<dd><p>The checksum algorithm is as follows: s0 = s1 = 0 for i from 0 to n-1 step 2: s0 += x(i) + s1; s1 += x(i+1) + s0; endfor # result in s0 and s1
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-54918-11103-44275-41655-39625-25925-11501-45553</b></dt>
<dd><p>If zVfsName is NULL then the default VFS is returned.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-54918-40364-64582-04260-06488-61576-53166-61478</b></dt>
<dd><p>If a faster non-recursive mutex implementation is available on the host platform, the mutex subsystem might return such a mutex in response to SQLITE_MUTEX_FAST.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-54935-19057-55411-14278-34768-16661-27190-25243</b></dt>
<dd><p>Or, if the SELECT statement would return less than N rows without a LIMIT clause, then the entire result set is returned.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-54961-28617-11438-13073-24028-16766-12231-36247</b></dt>
<dd><p>"SCAN" is used for a full-table scan, including cases where SQLite iterates through all records in a table in an order defined by an index.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-54971-39725-56830-50400-02582-07563-61018-15429</b></dt>
<dd><p>The xCachesize() method may be called at any time by SQLite to set the suggested maximum cache-size (number of pages stored by) the cache instance passed as the first argument. This is the value configured using the SQLite "PRAGMA cache_size" command.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-55023-00019-59762-06016-18954-07202-22523-08332</b></dt>
<dd><p>If the database connection D is not in write-ahead log mode then this interface is a harmless no-op.
<i>(source <a href="c3ref/wal_checkpoint.html">c3ref/wal_checkpoint.html</a>)</i></p></dd>

<dt><b>R-55025-21042-57260-24001-55816-18376-64535-50045</b></dt>
<dd><p>The identifier name in this case can include one or more occurrences of "::" and a suffix enclosed in "(...)" containing any text at all.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-55061-47754-54391-02401-15466-20656-29553-32154</b></dt>
<dd><p>The COLLATE clause specifies the name of a collating sequence to use as the default collation sequence for the column.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-55069-12282-57104-06256-56752-59196-49409-09981</b></dt>
<dd><p>The default conflict resolution algorithm is ABORT.
<i>(source <a href="lang_conflict.html">lang_conflict.html</a>)</i></p></dd>

<dt><b>R-55100-50971-19190-22779-00813-11812-48147-52542</b></dt>
<dd><p>This routine returns the rowid of the most recent successful INSERT into the database from the database connection in the first argument.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-55147-47664-01653-03142-36497-30903-54815-06427</b></dt>
<dd><p>For as long as the user has an open transaction, the database is allowed to exist in a state that violates any number of deferred foreign key constraints.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-55189-15164-61309-44787-48881-65424-27276-43718</b></dt>
<dd><p>The sqlite3_initialize() routine is called internally by many other SQLite interfaces so that an application usually does not need to invoke sqlite3_initialize() directly.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-55202-08143-43948-12400-45759-61406-58270-15405</b></dt>
<dd><p><img src="images/syntax/create-view-stmt.gif"><br>
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-55217-46687-52228-29196-47403-51229-35140-25408</b></dt>
<dd><p>Closing the BLOB often forces the changes out to disk and so if any I/O errors occur, they will likely occur at the time when the BLOB is closed. Any errors that occur during closing are reported as a non-zero return value.
<i>(source <a href="c3ref/blob_close.html">c3ref/blob_close.html</a>)</i></p></dd>

<dt><b>R-55240-58877-35642-37037-23506-42103-63982-59462</b></dt>
<dd><p>For each UNIQUE constraint on the table, each row must feature a unique combination of values in the columns identified by the UNIQUE constraint.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-55269-29598-22145-31317-31671-53288-42244-17124</b></dt>
<dd><p>The localtime_r() C function normally only works for years between 1970 and 2037. For dates outside this range, SQLite attempts to map the year into an equivalent year within this range, do the calculation, then map the year back.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-55312-58443-27187-57557-21962-11397-57143-02839</b></dt>
<dd><p>The SQLITE_VERSION_NUMBER C preprocessor macro resolves to an integer with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same numbers used in SQLITE_VERSION.
<i>(source <a href="c3ref/c_source_id.html">c3ref/c_source_id.html</a>)</i></p></dd>

<dt><b>R-55316-21772-61172-01789-50748-54713-63157-59070</b></dt>
<dd><p>If the VFS does not support shared-memory methods, then the attempt to open a database that is already in WAL mode, or the attempt convert a database into WAL mode, will fail.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-55350-58300-44544-15655-05072-05288-47077-28954</b></dt>
<dd><p>When the destructor callback of the tenth parameter is invoked, it is passed a single argument which is a copy of the application data pointer which was the fifth parameter to sqlite3_create_function_v2().
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-55351-62604-52448-54183-29592-46679-39320-37048</b></dt>
<dd><p>A single row of a table cannot store more than SQLITE_MAX_LENGTH bytes of data.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>)</i></p></dd>

<dt><b>R-55352-50321-25777-65350-51066-10256-38308-17470</b></dt>
<dd><p>The number of columns in the result can be determined using sqlite3_column_count().
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-55354-05099-56810-41359-25714-34128-15293-12246</b></dt>
<dd><p>These functions only work for dates between 0000-01-01 00:00:00 and 9999-12-31 23:59:59 (julidan day numbers 1721059.5 through 5373484.5).
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-55398-57340-09635-03247-16694-08409-20914-48585</b></dt>
<dd><p>Setting parameter X to NULL disables the progress handler.
<i>(source <a href="c3ref/progress_handler.html">c3ref/progress_handler.html</a>)</i></p></dd>

<dt><b>R-55403-13450-43666-61222-09717-03349-14429-52085</b></dt>
<dd><p>The HAVING expression may refer to values, even aggregate functions, that are not in the result.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-55406-38524-31149-09087-45874-46813-10331-17259</b></dt>
<dd><p>A percent symbol ("%") in the LIKE pattern matches any sequence of zero or more characters in the string.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-55422-28457-57897-11786-10838-58259-25547-52567</b></dt>
<dd><p>Changing the recursive_triggers setting affects the execution of all statements prepared using the database connection, including those prepared before the setting was changed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-55435-14303-03333-49029-22084-10936-61067-18432</b></dt>
<dd><p>Each time a new row is inserted into the table or an existing row is updated, the expression associated with each CHECK constraint is evaluated and cast to a NUMERIC value in the same way as a CAST expression. If the result is zero (integer value 0 or real value 0.0), then a constraint violation has occurred.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-55438-03590-29197-39620-12271-07480-54322-54101</b></dt>
<dd><p>The same VFS can be registered multiple times without injury.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-55443-46660-27592-17981-12219-05081-62305-56714</b></dt>
<dd><p>The second column of output (column "order") indicates the nesting order.
<i>(source <a href="eqp.html">eqp.html</a>)</i></p></dd>

<dt><b>R-55460-47820-18774-52597-12272-16306-23027-62332</b></dt>
<dd><p>If there is a blocking connection, then the extended error code is set to SQLITE_LOCKED_SHAREDCACHE. Otherwise, in the special "DROP TABLE/INDEX" case, the extended error code is just SQLITE_LOCKED.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-55530-52930-45065-40235-10917-28940-04210-09538</b></dt>
<dd><p>In a well-formed b-tree page, there will always be at least one cell before the first freeblock.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-55532-10108-63513-58109-24698-43338-62703-39415</b></dt>
<dd><p>Values 1, 1.0, 0.1, -0.1 and '1english' are considered to be true.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-55595-13513-43287-07115-18907-23748-32560-50080</b></dt>
<dd><p>The strftime() function also takes a format string as its first argument.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-55606-57227-21877-64681-10447-20017-21356-32881</b></dt>
<dd><p>If the RELEASE command causes the transaction stack to become empty (if the RELEASE command releases the outermost transaction from the stack) then the transaction commits.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-55630-01276-46302-46082-34695-06862-07096-33209</b></dt>
<dd><p>The destructor is called to dispose of the BLOB or string even if the call to sqlite3_bind_blob(), sqlite3_bind_text(), or sqlite3_bind_text16() fails.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-55638-04244-14117-31927-31561-07826-29267-09174</b></dt>
<dd><p>The sqlite3_reset(S) interface does not change the values of any bindings on the prepared statement S.
<i>(source <a href="c3ref/reset.html">c3ref/reset.html</a>)</i></p></dd>

<dt><b>R-55673-47845-33764-15957-40467-43694-47305-60720</b></dt>
<dd><p>The memory high-water mark is reset to the current value of sqlite3_memory_used() if and only if the parameter to sqlite3_memory_highwater() is true.
<i>(source <a href="c3ref/memory_highwater.html">c3ref/memory_highwater.html</a>)</i></p></dd>

<dt><b>R-55708-49653-17675-07799-20555-47879-27152-48993</b></dt>
<dd><p>When COMMIT fails in this way, the transaction remains active and the COMMIT can be retried later after the reader has had a chance to clear.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-55733-20912-49393-01361-02084-05970-17120-19612</b></dt>
<dd><p>If the callback function of the 3rd argument to sqlite3_exec() is not NULL, then it is invoked for each result row coming out of the evaluated SQL statements.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-55824-40976-33376-02696-39138-17366-51003-18282</b></dt>
<dd><p>A sub-select specified in the join-source following the FROM clause in a simple SELECT statement is handled as if it was a table containing the data returned by executing the sub-select statement.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select2.test)</i></p></dd>

<dt><b>R-55842-56137-49604-51466-59132-51451-25325-13692</b></dt>
<dd><p>The ON and USING clauses of an inner join are converted into additional terms of the WHERE clause prior to WHERE clause analysis described above in paragraph 1.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-55869-30521-47622-53163-51064-21445-33319-34731</b></dt>
<dd><p>If the UPDATE statement does not have a WHERE clause, all rows in the table are modified by the UPDATE.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-55888-39002-08567-49374-03343-41740-10082-36394</b></dt>
<dd><p>Extension loading is off by default.
<i>(source <a href="c3ref/enable_load_extension.html">c3ref/enable_load_extension.html</a>)</i></p></dd>

<dt><b>R-55903-20082-12808-10678-61421-17044-64440-32605</b></dt>
<dd><p>The idxNum and idxPtr values are recorded and passed into the xFilter method.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-55911-62773-41442-21413-65353-46406-48987-44101</b></dt>
<dd><p>Every row of every SQLite table has a 64-bit signed integer key that uniquely identifies the row within its table.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>)</i></p></dd>

<dt><b>R-55943-26846-44703-10541-34639-64064-14946-23820</b></dt>
<dd><p>If foreign key constraints are enabled, a DROP TABLE command performs an implicit DELETE FROM <tbl> command before removing the table from the database schema.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-55970-49067-15919-18439-36628-50905-05103-43155</b></dt>
<dd><p>If the new row is not present in the table, or if it does not contain a blob or text value, or if another error occurs, an SQLite error code is returned and the blob handle is considered aborted.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-55987-04584-31761-14643-27294-27781-56181-00867</b></dt>
<dd><p>For each pair of namesake columns, the expression "lhs.X = rhs.X" is evaluated for each row of the cartesian product as a boolean expression. All rows for which one or more of the expressions evaluates to false are excluded from the result set.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-55989-34690-53025-39227-28195-61827-56491-03494</b></dt>
<dd><p>If an index is created using a statement like this: CREATE INDEX idx_ex1 ON ex1(a,b,c,d,e,...,y,z); Then the index might be used if the initial columns of the index (columns a, b, and so forth) appear in WHERE clause terms.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-56011-13049-37305-00333-29533-64410-17255-06999</b></dt>
<dd><p>The outer query is not part of a compound select or the subquery does not have both an ORDER BY and a LIMIT clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-56020-12355-36965-55890-52401-50899-40834-02969</b></dt>
<dd><p>To overcome this problem, a separate data structure called the wal-index is maintained to expedite the search for frames of a particular page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-56032-24923-44084-62651-61742-23069-00366-25575</b></dt>
<dd><p>The foreign key constraint is satisfied if for each row in the child table either one or more of the child key columns are NULL, or there exists a row in the parent table for which each parent key column contains a value equal to the value in its associated child key column.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-56075-46525-28921-54400-33560-07294-24655-01890</b></dt>
<dd><p>The source and destination database connections (parameters S and D) must be different or else sqlite3_backup_init(D,N,S,M) will fail with an error.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-56088-25150-58914-01692-09523-48299-30387-32306</b></dt>
<dd><p>The group_concat() function returns a string which is the concatenation of all non-NULL values of X.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-56094-57830-57463-55156-04028-13498-23873-32141</b></dt>
<dd><p>the following three table declarations all cause the column "x" to be an alias for the rowid (an integer primary key): CREATE TABLE t(x INTEGER PRIMARY KEY ASC, y, z); CREATE TABLE t(x INTEGER, y, z, PRIMARY KEY(x ASC)); CREATE TABLE t(x INTEGER, y, z, PRIMARY KEY(x DESC));
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-56132-15700-29603-38264-36933-60961-45364-58760</b></dt>
<dd><p>This is the only difference between a USING clause and its equivalent ON constraint.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-56168-33548-13029-39450-16925-62002-00954-18437</b></dt>
<dd><p>The aConstraint[] array records WHERE clause constraints of the form: column OP expr where OP is =, <, <=, >, or >=.
<i>(source <a href="c3ref/index_info.html">c3ref/index_info.html</a>)</i></p></dd>

<dt><b>R-56249-28265-13438-15861-43462-53554-35799-32319</b></dt>
<dd><p>Compute the current date. SELECT date('now');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-56256-08578-55482-47155-20535-53157-53389-52654</b></dt>
<dd><p>In the "v2" interface, the more specific error code is returned directly by sqlite3_step().
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-56280-17369-11717-14525-09241-09664-14556-20621</b></dt>
<dd><p>Both forms of the CASE expression use lazy, or short-circuit, evaluation.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-56294-03966-08864-53339-51473-44924-63281-58418</b></dt>
<dd><p>All types of SELECT statement, including aggregate and compound SELECT queries (queries with keywords like UNION or EXCEPT) are allowed as scalar subqueries.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-56387-19459-30565-00993-44183-40692-62235-22092</b></dt>
<dd><p>The subquery is not an aggregate or the outer query is not a join.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-56389-32354-25597-52918-28579-03696-46776-62585</b></dt>
<dd><p>NOCASE Like BINARY except that uppercase ASCII characters ('A' through 'Z') are folded into their lowercase equivalents prior to running the comparison.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-56424-18878-13584-40742-26912-14341-05618-57860</b></dt>
<dd><p>The first parameter is an operation code that determines the number, meaning, and operation of all subsequent parameters.
<i>(source <a href="c3ref/test_control.html">c3ref/test_control.html</a>)</i></p></dd>

<dt><b>R-56504-50161-51951-63355-39627-51881-09678-61450</b></dt>
<dd><p>A 2-dimensional R*Tree (the most common case) has 5 columns.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-56518-44310-03576-50973-10041-44259-32136-55602</b></dt>
<dd><p>The second parameter to the callback is an integer action code that specifies the particular action to be authorized.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-56683-13731-54307-64156-42285-19581-37676-29217</b></dt>
<dd><p>If the optional ESCAPE clause is present, then the expression following the ESCAPE keyword must evaluate to a string consisting of a single character.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-56692-55226-52354-63477-50727-27057-22841-42848</b></dt>
<dd><p>If sqlite3_malloc() is unable to obtain sufficient free memory, it returns a NULL pointer.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-56776-50883-10571-02683-54111-03682-29610-50999</b></dt>
<dd><p>So in the query, the optimizer is free to reorder the tables of the FROM clause anyway it sees fit: SELECT * FROM node AS n1, edge AS e, node AS n2 WHERE n1.name = 'alice' AND n2.name = 'bob' AND e.orig = n1.id AND e.dest = n2.id;
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-56801-63935-12659-39729-00825-44239-35936-30189</b></dt>
<dd><p>The sixth, seventh and eighth parameters, xFunc, xStep and xFinal, are pointers to C-language functions that implement the SQL function or aggregate.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-56805-28429-09038-27116-20961-52646-32004-47216</b></dt>
<dd><p>Note that "monotonically increasing" does not imply that the ROWID always increases by exactly one.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-56841-45734-29539-09781-39505-27779-01471-37796</b></dt>
<dd><p>If the argument is an index name, then only that one index is analyzed.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>

<dt><b>R-56844-61705-36939-38835-21077-60167-01566-10120</b></dt>
<dd><p>If the current statement is not inside an explicit transaction (a BEGIN/COMMIT/ROLLBACK block), then an implicit transaction is committed as soon as the statement has finished executing. In this case deferred constraints behave the same as immediate constraints.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-56899-62057-33576-54227-58668-21470-57671-19997</b></dt>
<dd><p>Use this routine to reset all host parameters to NULL.
<i>(source <a href="c3ref/clear_bindings.html">c3ref/clear_bindings.html</a>)</i></p></dd>

<dt><b>R-56921-36726-52234-49163-41445-49849-43983-14131</b></dt>
<dd><p>The module takes zero or more comma-separated arguments.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-56960-03061-20836-21931-13129-13661-26943-05315</b></dt>
<dd><p>The sqlite_sequence row for an AUTOINCREMENT table is automatically deleted when the table is dropped.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-57047-10461-09824-05395-44122-51121-43183-19652</b></dt>
<dd><p>For each pair of columns identified by a USING clause, the column from the right-hand dataset is omitted from the joined dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-57064-52104-64431-17226-40317-39085-08319-65218</b></dt>
<dd><p>A keyword enclosed in grave accents (ASCII code 96) is an identifier.
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-57074-20369-11255-42059-64257-36055-51213-17721</b></dt>
<dd><p>After each checkpoint, the WAL header salt-1 value is incremented and the salt-2 value is randomized.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-57089-01510-52711-12029-01843-57322-48096-53622</b></dt>
<dd><p>The optional IF EXISTS clause suppresses the error that would normally result if the table does not exist.
<i>(source <a href="lang_droptable.html">lang_droptable.html</a>)</i></p></dd>

<dt><b>R-57089-20897-11493-55029-43412-10473-15914-29086</b></dt>
<dd><p>The hex() function interprets its argument as a BLOB and returns a string which is the upper-case hexadecimal rendering of the content of that blob.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-57167-06245-01726-09355-33503-05037-30957-41757</b></dt>
<dd><p>The CREATE INDEX command consists of the keywords "CREATE INDEX" followed by the name of the new index, the keyword "ON", the name of a previously created table that is to be indexed, and a parenthesized list of names of columns in the table that are used for the index key.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-57195-25932-26146-45143-15236-49265-31478-06435</b></dt>
<dd><p>When a column is indexed, the same collating function specified in the CREATE TABLE statement is used for the column in the index, by default, though this can be overridden using a COLLATE clause in the CREATE INDEX statement.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-57216-60803-31079-31964-02291-43639-29753-51457</b></dt>
<dd><p>The default behavior of the LIKE operator is to ignore case for ASCII characters. Hence, by default 'a' LIKE 'A' is true.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-57228-12904-01956-10826-41205-44004-37932-17124</b></dt>
<dd><p>Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op.
<i>(source <a href="c3ref/finalize.html">c3ref/finalize.html</a>, checked-by: src/vdbeapi.c)</i></p></dd>

<dt><b>R-57233-37249-31341-45031-54351-11965-32599-40033</b></dt>
<dd><p>The database name is the name of an ATTACH-ed database or it can be "main" or "temp" for the main and the TEMP databases.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-57239-11845-16463-18106-13303-34365-12787-00637</b></dt>
<dd><p>If NORMAL locking mode is in effect for the first WAL-mode database access, then the shared-memory wal-index is created.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-57242-37005-56028-08872-40154-45403-20109-09312</b></dt>
<dd><p>Any "foreign key mismatch" errors encountered as part of an implicit DELETE are ignored.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-57255-33789-60728-42833-30002-01027-59947-48122</b></dt>
<dd><p>However, depending on the statement being evaluated and the point at which the error occurs, it might be necessary for SQLite to rollback and cancel the entire transaction.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-57289-13578-46806-61236-13927-50034-58135-19612</b></dt>
<dd><p>If a application-defined SQL function named "regexp" is added at run-time, that function will be called in order to implement the REGEXP operator.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-57313-56280-52259-04296-10229-37412-19300-33360</b></dt>
<dd><p>If URI filenames are recognized when the database connection is originally opened, then URI filenames will also be recognized on ATTACH statements.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-57326-31541-07855-53687-16913-06190-23550-58246</b></dt>
<dd><p>Abs(X) return 0.0 if X is a string or blob that cannot be converted to a numeric value.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-57359-31340-08114-48043-64699-54497-52061-08286</b></dt>
<dd><p>The subquery is not DISTINCT or the outer query does not use aggregates.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-57359-59558-63770-19476-57809-18440-47111-21364</b></dt>
<dd><p>The LIMIT and ORDER BY clauses for UPDATE are unsupported within triggers, regardless of the compilation options used to build SQLite.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-57360-40691-20822-63524-22530-36364-65033-34134</b></dt>
<dd><p>If a keyword in double quotes (ex: "key" or "glob") is used in a context where it cannot be resolved to an identifier but where a string literal is allowed, then the token is understood to be a string literal instead of an identifier.
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-57418-53232-55931-28438-08361-10672-24315-12899</b></dt>
<dd><p>Thus, if a COLLATE operator is used anywhere in a comparision expression, the collating function defined by that operator is used for string comparison regardless of what table columns might be a part of that expression.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-57428-63758-17863-58074-13884-12302-03924-53063</b></dt>
<dd><p>The same page may not appear more than once within a single rollback journal.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-57464-30285-51678-51682-55772-21804-29928-17163</b></dt>
<dd><p>PRAGMA database_list; This pragma works like a query to return one row for each database attached to the current database connection.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-57479-00042-18825-57289-32505-64353-45358-46844</b></dt>
<dd><p>These functions (collectively known as "function creation routines") are used to add SQL functions or aggregates or to redefine the behavior of existing SQL functions or aggregates.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-57596-15697-28996-29191-00172-44025-23710-23803</b></dt>
<dd><p>If the xCallback argument is NULL then the collating function is deleted.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-57605-18547-20475-29360-28587-57210-12806-62270</b></dt>
<dd><p>The page_size pragma will only cause an immediate change in the page size if it is issued while the database is still empty, prior to the first CREATE TABLE statement.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-57629-25253-01540-58314-47057-32967-17520-58138</b></dt>
<dd><p>If the SELECT statement is an aggregate query without a GROUP BY clause, then each aggregate expression in the result-set is evaluated once across the entire dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-57724-31954-10264-24402-01814-32974-35251-10420</b></dt>
<dd><p>The filename of the database follows the same semantics as the filename argument to sqlite3_open() and sqlite3_open_v2(); the special name ":memory:" results in an in-memory database and an empty string results in a new temporary database.
<i>(source <a href="lang_attach.html">lang_attach.html</a>)</i></p></dd>

<dt><b>R-57724-61571-01377-08004-10226-53040-57398-43203</b></dt>
<dd><p>An ON CONFLICT clause may be specified as part of an UPDATE or INSERT action within the body of the trigger.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-57754-57109-09415-37639-28853-16846-26275-15354</b></dt>
<dd><p>If the SELECT statement is an aggregate query with a GROUP BY clause, then each of the expressions specified as part of the GROUP BY clause is evaluated for each row of the dataset. Each row is then assigned to a "group" based on the results; rows for which the results of evaluating the GROUP BY expressions are the same are assigned to the same group.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-57765-12380-65473-27490-60483-53059-23435-27202</b></dt>
<dd><p>In the above paragraph, the term "equal" means equal when values are compared using the rules specified here.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-57773-31134-13859-63861-60262-03843-19674-02031</b></dt>
<dd><p>With AUTOINCREMENT, rows with automatically selected ROWIDs are guaranteed to have ROWIDs that have never been used before by the same table in the same database.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-57803-30267-35390-49714-00774-40493-44920-28706</b></dt>
<dd><p>Note, however, that auto-vacuum only truncates the freelist pages from the file. Auto-vacuum does not defragment the database nor repack individual database pages the way that the VACUUM command does.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-57806-53405-06044-47761-50906-57249-23424-06357</b></dt>
<dd><p>All of the result in the example are the same if the comparisons are commuted - if expressions of the form "a<40" are rewritten as "40>a".
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-57858-21950-12138-26449-35753-39706-50266-42257</b></dt>
<dd><p>The SQLITE_ENABLE_STAT3 option causes the ANALYZE command to collect a histogram of column content in the sqlite_stat3 table and to use this histogram to make a better guess at the best query to use for range constraints such as the above.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-57876-22123-39728-45816-26959-17516-32294-11302</b></dt>
<dd><p>The default collating sequence is the collating sequence defined for that column in the CREATE TABLE statement.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-57884-37496-29952-23489-26945-21299-05103-05410</b></dt>
<dd><p>The scheme of the URI must be "file:". Any other scheme results in the input being treated as an ordinary filename.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-57891-22954-32416-59569-36583-48218-50760-42682</b></dt>
<dd><p>The fifth argument to sqlite3_bind_blob(), sqlite3_bind_text(), and sqlite3_bind_text16() is a destructor used to dispose of the BLOB or string after SQLite has finished with it.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-57928-57565-35172-43517-28321-39002-52243-13899</b></dt>
<dd><p>The expression "x IN (SELECT y ...)" is handled in the same way as the expression "x = y" for the purposes of determining the collating sequence.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-57963-05936-27484-31794-06157-35153-01891-09927</b></dt>
<dd><p>The SAVEPOINT command starts a new transaction with a name.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-57967-31673-02324-15134-55427-47426-59271-07487</b></dt>
<dd><p>The SQLITE_FCNTL_PERSIST_WAL opcode is used to set or query the persistent Write Ahead Log setting.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-58080-31767-64590-28365-48177-49869-42154-18790</b></dt>
<dd><p>Note that the sqlite3_changes() and sqlite3_total_changes() interfaces do not count INSTEAD OF trigger firings, but the count_changes pragma does count INSTEAD OF trigger firing.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-58089-05908-32254-07731-27981-33321-41774-40378</b></dt>
<dd><p>If the table has a column of type INTEGER PRIMARY KEY then that column is another alias for the rowid.
<i>(source <a href="c3ref/last_insert_rowid.html">c3ref/last_insert_rowid.html</a>)</i></p></dd>

<dt><b>R-58089-24221-11694-41639-02046-24036-01184-42193</b></dt>
<dd><p>If sqlite3_realloc() returns NULL, then the prior allocation is not freed.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>)</i></p></dd>

<dt><b>R-58089-32183-52130-60525-27569-44992-13827-12149</b></dt>
<dd><p>The table to be modified must exist in the same database as the table or view to which the trigger is attached.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-58101-01610-39291-65519-22714-56029-10662-40806</b></dt>
<dd><p>The "SQLITE_" prefix is omitted from the returned option names.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-58129-20729-43334-45037-61775-65105-23500-10551</b></dt>
<dd><p>It is not an error if the WHERE clause does not evaluate to true for any row in the table - this just means that the UPDATE statement affects zero rows.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-58133-32721-60366-63441-61614-07001-53385-02322</b></dt>
<dd><p>A keyword in single quotes is a string literal.
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-58169-51804-47958-35022-47560-43691-56454-56220</b></dt>
<dd><p><img src="images/syntax/table-constraint.gif"><br>
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-58208-19414-39381-39843-31272-22359-33296-08793</b></dt>
<dd><p>The first 2 bytes of a freeblock are a big-endian integer which is the offset in the b-tree page of the next freeblock in the chain, or zero if the freeblock is the last on the chain.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-58261-63259-31112-34122-01382-46669-15924-59329</b></dt>
<dd><p>The sum() and total() aggregate functions return sum of all non-NULL values in the group.
<i>(source <a href="lang_aggfunc.html">lang_aggfunc.html</a>)</i></p></dd>

<dt><b>R-58293-02725-64867-56851-12538-45360-38316-49543</b></dt>
<dd><p>Each time a transaction is committed or a WAL file resets, SQLite compares the size of the rollback journal file or WAL file left in the file-system to the size limit set by this pragma and if the journal or WAL file is larger it is truncated to the limit.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-58297-14483-40146-32998-13341-07144-06303-13895</b></dt>
<dd><p>WAL databases can be created, read, and written even if shared memory is unavailable as long as the locking_mode is set to EXCLUSIVE before the first attempted access.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-58312-28618-40592-62073-31662-38591-25433-11093</b></dt>
<dd><p>If the Y argument is omitted, rtrim(X) removes spaces from the right side of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-58344-62489-38049-32085-64337-15515-50489-64181</b></dt>
<dd><p>Thus, by default, the following expression is true: 'a' LIKE 'A'
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-58358-50570-50197-06415-13573-58509-53198-19669</b></dt>
<dd><p>This pragma does an integrity check of the entire database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-58359-52112-44608-26924-62371-03050-44759-15505</b></dt>
<dd><p>The normal rules for selecting a collation sequence to compare text values with apply.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-58361-29089-54084-23122-22641-61380-38258-02749</b></dt>
<dd><p>The changes() function returns the number of database rows that were changed or inserted or deleted by the most recently completed INSERT, DELETE, or UPDATE statement, exclusive of statements in lower-level triggers.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-58394-31093-63453-44359-04700-44198-50442-28632</b></dt>
<dd><p>PRAGMA index_info(index-name); This pragma returns one row each column in the named index.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-58421-05800-43557-56576-34931-38170-06768-38707</b></dt>
<dd><p>If the Y argument is omitted, ltrim(X) removes spaces from the left side of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-58424-53543-49718-27899-29509-07852-05490-25692</b></dt>
<dd><p>The page size must be a power of two between 512 and 65536 inclusive.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-58428-36660-63931-61833-12651-58158-26648-39835</b></dt>
<dd><p>If OMIT_FOREIGN_KEY is defined, then foreign key definitions cannot even be parsed (attempting to specify a foreign key definition is a syntax error).
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-58433-37187-52219-35155-40508-43189-02693-26384</b></dt>
<dd><p>The COMMIT command and the ROLLBACK command without the TO clause work the same on SAVEPOINT transactions as they do with transactions started by BEGIN.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-58553-63740-12454-47627-42438-52862-15434-40396</b></dt>
<dd><p>If executing the SELECT statement specified as the right-hand operand of the EXISTS operator would return one or more rows, then the EXISTS operator evaluates to 1.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-58560-23968-28537-53654-45621-13227-05416-28279</b></dt>
<dd><p>The default value of the checkpoint_fullfsync flag is off.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-58640-02877-59661-28558-18785-36384-52815-36823</b></dt>
<dd><p>RTRIM - The same as binary, except that trailing space characters are ignored.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-58706-14229-29588-03178-14400-15818-06936-07358</b></dt>
<dd><p>Similarly, an INSERT statement may provide a value to use as the rowid for each row inserted.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-58729-25290-19710-37718-46636-04940-09423-21381</b></dt>
<dd><p>The SQLITE_FCNTL_PRAGMA file control occurs at the beginning of pragma statement analysis and so it is able to override built-in PRAGMA statements.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-58731-25439-21347-45819-04127-12492-10479-51386</b></dt>
<dd><p>The collating sequence set by the COLLATE operator overrides the collating sequence determined by the COLLATE clause in a table column definition.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-58778-10776-22890-25642-31473-47803-35763-23177</b></dt>
<dd><p>The xInit() method is called once for each effective call to sqlite3_initialize()
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-58814-63508-14637-55727-60663-34396-08543-07836</b></dt>
<dd><p>The sqlite3_db_release_memory(D) interface attempts to free as much heap memory as possible from database connection D.
<i>(source <a href="c3ref/db_release_memory.html">c3ref/db_release_memory.html</a>)</i></p></dd>

<dt><b>R-58823-28748-40734-32181-06103-05121-55072-03563</b></dt>
<dd><p>If it identifies a specific database index, then just that index is recreated.
<i>(source <a href="lang_reindex.html">lang_reindex.html</a>, checked-by: tcl/e_reindex.test)</i></p></dd>

<dt><b>R-58835-30946-01453-54095-45782-49033-61690-21172</b></dt>
<dd><p>The SQLITE_FCNTL_POWERSAFE_OVERWRITE opcode is used to set or query the persistent "powersafe-overwrite" or "PSOW" setting.
<i>(source <a href="c3ref/c_fcntl_chunk_size.html">c3ref/c_fcntl_chunk_size.html</a>)</i></p></dd>

<dt><b>R-58862-44169-03141-46737-61496-44954-25565-37290</b></dt>
<dd><p>If an UPDATE statement has a LIMIT clause, the maximum number of rows that will be updated is found by evaluating the accompanying expression and casting it to an integer value.
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-58875-56087-32934-46536-36631-10270-04252-20077</b></dt>
<dd><p>The IN and NOT IN operators take a single scalar operand on the left and a vector operand on the right formed by an explicit list of zero or more scalars or by a single subquery.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/tkt-80e031a00f.test)</i></p></dd>

<dt><b>R-58894-55946-37109-41384-37439-30924-04290-08504</b></dt>
<dd><p>The sqlite3_aggregate_context(C,N) routine returns a NULL pointer if N is less than or equal to zero or if a memory allocate error occurs.
<i>(source <a href="c3ref/aggregate_context.html">c3ref/aggregate_context.html</a>)</i></p></dd>

<dt><b>R-58951-07798-10781-33185-41283-52563-14350-38026</b></dt>
<dd><p>Otherwise, if no column-list is specified, the number of columns in the result of the SELECT must be the same as the number of columns in the table.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-58993-22660-13227-57467-37218-61239-51147-21890</b></dt>
<dd><p>The structure of the sqlite_master table is as if it had been created using the following SQL: CREATE TABLE sqlite_master( type text, name text, tbl_name text, rootpage integer, sql text );
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-59001-45278-16450-29510-31593-00362-58308-30623</b></dt>
<dd><p>SQLITE_LIMIT_FUNCTION_ARG The maximum number of arguments on a function.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-59007-20454-04815-57542-48714-11187-47465-31544</b></dt>
<dd><p>Any other character matches itself or its lower/upper case equivalent (i.e. case-insensitive matching).
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-59089-25828-47807-24089-43105-44116-25711-61833</b></dt>
<dd><p>The columns of the cartesian product dataset are, in order, all the columns of the left-hand dataset followed by all the columns of the right-hand dataset.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-59114-58431-38576-59945-01836-64391-41431-21894</b></dt>
<dd><p>The sqlite3_log() interface writes a message into the error log established by the SQLITE_CONFIG_LOG option to sqlite3_config().
<i>(source <a href="c3ref/log.html">c3ref/log.html</a>)</i></p></dd>

<dt><b>R-59153-45869-47799-39794-18343-43894-28184-56568</b></dt>
<dd><p>If the declared type for a column contains any of the strings "REAL", "FLOA", or "DOUB" then the column has REAL affinity.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-59172-51198-22956-23364-43321-06820-15140-44023</b></dt>
<dd><p>If the transaction stack is not empty when the BEGIN command is invoked, then the command fails with an error.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-59182-40522-06703-03529-14405-50301-30896-08116</b></dt>
<dd><p>The SQLITE_VERSION C preprocessor macro in the sqlite3.h header evaluates to a string literal that is the SQLite version in the format "X.Y.Z" where X is the major version number (always 3 for SQLite3) and Y is the minor version number and Z is the release number.
<i>(source <a href="c3ref/c_source_id.html">c3ref/c_source_id.html</a>)</i></p></dd>

<dt><b>R-59194-45393-22492-52918-12483-50598-53010-59853</b></dt>
<dd><p>An attempt to execute COMMIT might also result in an SQLITE_BUSY return code if an another thread or process has a shared lock on the database that prevented the database from being updated.
<i>(source <a href="lang_transaction.html">lang_transaction.html</a>)</i></p></dd>

<dt><b>R-59203-27417-45824-06812-16241-47628-05439-60390</b></dt>
<dd><p>If the argument N is negative then no change is made to the soft heap limit.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-59212-00515-24356-00769-54260-21124-60986-12573</b></dt>
<dd><p>But if the case_sensitive_like pragma is enabled as follows: PRAGMA case_sensitive_like=ON; Then the LIKE operator pays attention to case and the example above would evaluate to false.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-59218-44473-40361-49593-50972-37596-39041-04578</b></dt>
<dd><p>The sqlite_sequence table is created automatically whenever any ordinary table with an AUTOINCREMENT integer primary key is created.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-59246-48037-03158-25675-60102-33879-46651-46804</b></dt>
<dd><p>Any callback set by a previous call to this function for the same database connection is overridden.
<i>(source <a href="c3ref/update_hook.html">c3ref/update_hook.html</a>)</i></p></dd>

<dt><b>R-59275-48655-09864-05329-36519-41537-00645-39530</b></dt>
<dd><p>The new row is identified by the rowid value passed as the second argument.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-59310-51205-15407-41555-00888-38389-12336-63259</b></dt>
<dd><p>The "reserved space" size in the 1-byte integer at offset 20 is the number of bytes of space at the end of each page to reserve for extensions.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-59391-62387-22553-12077-41502-35655-02982-42889</b></dt>
<dd><p>Conversions between UTF-16be and UTF-16le are always done in place and do not invalidate a prior pointer, though of course the content of the buffer that the prior pointer references will have been modified.
<i>(source <a href="c3ref/column_blob.html">c3ref/column_blob.html</a>)</i></p></dd>

<dt><b>R-59448-03256-05864-16635-25556-57102-24406-56430</b></dt>
<dd><p>SQLite makes a copy of the object and uses it for page cache memory allocations.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-59544-00330-10007-23710-00944-16891-38828-33861</b></dt>
<dd><p>If the affinity of a column is REAL and that column contains a value that can be converted to an integer without loss of information (if the value contains no fractional part and is not too large to be represented as an integer) then the column may be stored in the record as an integer.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-59553-21705-43899-06784-22214-40480-29104-54159</b></dt>
<dd><p>Collating functions are deleted when they are overridden by later calls to the collation creation functions or when the database connection is closed using sqlite3_close().
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-59577-33471-39346-45414-34609-60012-12077-11853</b></dt>
<dd><p>The COLLATE operator is a unary postfix operator that assigns a collating sequence to an expression.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-59578-04990-31169-38891-51407-22493-62335-43594</b></dt>
<dd><p>Foreign key constraints are disabled by default (for backwards compatibility), so must be enabled separately for each database connection separately.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-59581-44104-07622-44169-35142-09947-54214-52613</b></dt>
<dd><p>If SQLite is built with the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option then the syntax of the UPDATE statement is extended with optional ORDER BY and LIMIT clauses
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-59593-21810-38757-57312-51798-28270-65217-02509</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Serialized threading mode and sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_SERIALIZED configuration option.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-59621-01851-05924-46004-30030-43589-19553-01954</b></dt>
<dd><p>Aggregate functions compute their result across all rows of the result set.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-59621-62546-01433-46833-62451-30016-12740-49042</b></dt>
<dd><p>The query above would very quickly locate the id of 1 even if the R*Tree contained millions of entries.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-59626-35257-47411-01880-13272-17945-33265-14470</b></dt>
<dd><p>The returned string is always in UTF-8 encoding even if the named parameter was originally specified as UTF-16 in sqlite3_prepare16() or sqlite3_prepare16_v2().
<i>(source <a href="c3ref/bind_parameter_name.html">c3ref/bind_parameter_name.html</a>)</i></p></dd>

<dt><b>R-59626-52827-57662-05724-48441-25095-54534-18435</b></dt>
<dd><p>The name of the collation is a UTF-8 string for sqlite3_create_collation() and sqlite3_create_collation_v2() and a UTF-16 string in native byte order for sqlite3_create_collation16().
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-59663-62254-25322-57375-18111-19380-43060-36564</b></dt>
<dd><p>If the argument to sqlite3_mutex_held() is a NULL pointer then the routine should return 1.
<i>(source <a href="c3ref/mutex_held.html">c3ref/mutex_held.html</a>)</i></p></dd>

<dt><b>R-59665-46340-25157-22824-10328-32934-42335-25570</b></dt>
<dd><p>This routine actually returns the index of the largest (rightmost) parameter. For all forms except ?NNN, this will correspond to the number of unique parameters. If parameters of the ?NNN form are used, there may be gaps in the list.
<i>(source <a href="c3ref/bind_parameter_count.html">c3ref/bind_parameter_count.html</a>)</i></p></dd>

<dt><b>R-59695-52766-18452-08773-42368-59745-62230-09820</b></dt>
<dd><p>The other columns are minimum- and maximum-value pairs (stored as 32-bit floating point numbers) for each dimension.
<i>(source <a href="rtree.html">rtree.html</a>)</i></p></dd>

<dt><b>R-59712-18547-02212-00843-63183-21822-46730-58410</b></dt>
<dd><p>The source database is read-locked only while it is being read; it is not locked continuously for the entire backup operation.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-59738-58751-51247-06625-33593-39630-09372-24907</b></dt>
<dd><p>The routines sqlite3_prepare_v2(), sqlite3_prepare(), sqlite3_prepare16(), sqlite3_prepare16_v2(), sqlite3_exec(), and sqlite3_get_table() accept an SQL statement list (sql-stmt-list) which is a semicolon-separated list of statements.
<i>(source <a href="lang.html">lang.html</a>)</i></p></dd>

<dt><b>R-59740-55581-30752-55648-04315-06609-57051-39793</b></dt>
<dd><p>This statement will fail if SQLite is in the middle of a transaction.
<i>(source <a href="lang_detach.html">lang_detach.html</a>)</i></p></dd>

<dt><b>R-59741-51383-54306-63308-23594-36785-40026-55929</b></dt>
<dd><p>However, application code cannot create the sqlite_sequence table if it does not already exist.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-59782-00072-08374-56821-09554-43453-45852-13316</b></dt>
<dd><p>The soundex(X) function returns a string that is the soundex encoding of the string X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-59841-13798-58267-43160-49390-53360-57337-63082</b></dt>
<dd><p>The 4-byte big-endian integer at offset 32 stores the page number of the first page of the freelist, or zero if the freelist is empty.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-59843-56897-36550-00278-28044-49330-04836-60246</b></dt>
<dd><p>The name of the module is given by the second parameter.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-59847-53574-49799-21344-47903-30927-18789-48641</b></dt>
<dd><p>If sqlite3_unlock_notify() is called in a multi-threaded application, there is a chance that the blocking connection will have already concluded its transaction by the time sqlite3_unlock_notify() is invoked. If this happens, then the specified callback is invoked immediately, from within the call to sqlite3_unlock_notify().
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-59866-40673-09200-10625-43441-33703-34788-06531</b></dt>
<dd><p>The first call to sqlite3_backup_step() obtains an exclusive lock on the destination file.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-59880-60857-20339-39242-03952-30243-41004-50875</b></dt>
<dd><p>If no prepared statement satisfies the conditions of this routine, it returns NULL.
<i>(source <a href="c3ref/next_stmt.html">c3ref/next_stmt.html</a>)</i></p></dd>

<dt><b>R-59926-26393-31907-32600-50735-40395-06469-15270</b></dt>
<dd><p>To be usable by an index a term must be of one of the following forms: column = expression column > expression column >= expression column < expression column <= expression expression = column expression > column expression >= column expression < column expression <= column column IN (expression-list) column IN (subquery) column IS NULL
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-59941-62933-38106-18791-02770-37169-39632-35636</b></dt>
<dd><p>PRAGMA checkpoint_fullfsync PRAGMA checkpoint_fullfsync = boolean; Query or change the fullfsync flag for checkpoint operations.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-59997-58537-35591-36958-43743-44811-17044-08517</b></dt>
<dd><p>For the main database file, the database name is "main".
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-60001-20170-36140-08740-00799-64790-64751-11735</b></dt>
<dd><p>The rollback callback is not invoked if a transaction is automatically rolled back because the database connection is closed.
<i>(source <a href="c3ref/commit_hook.html">c3ref/commit_hook.html</a>)</i></p></dd>

<dt><b>R-60006-51889-17340-00392-61483-34250-49768-38431</b></dt>
<dd><p>In order for these optimizations to occur, they must appear in exactly the form shown above - changing only the name of the table and column.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-60072-34499-08145-18925-33881-07279-11418-39459</b></dt>
<dd><p>Automatic indexing is enabled by default.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-60075-10893-48868-22845-41687-22620-03276-20843</b></dt>
<dd><p>If there are fewer than N pages on the freelist, or if N is less than 1, or if N is omitted entirely, then the entire freelist is cleared.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-60090-27861-59192-20728-19782-37127-56669-48134</b></dt>
<dd><p>This interface loads an SQLite extension library from the named file.
<i>(source <a href="c3ref/load_extension.html">c3ref/load_extension.html</a>)</i></p></dd>

<dt><b>R-60099-10331-60202-18303-15072-02692-09131-64001</b></dt>
<dd><p>The multi-argument max() function returns the argument with the maximum value, or return NULL if any argument is NULL.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-60116-07512-58915-34357-51591-00163-63646-47672</b></dt>
<dd><p>The parent key of a foreign key constraint is not allowed to use the rowid. The parent key must used named columns only.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>)</i></p></dd>

<dt><b>R-60116-58305-35895-50546-31025-26877-37972-30944</b></dt>
<dd><p>A NULL operand on a mathematical operator yields a NULL result.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-60153-11078-48235-52964-41144-31908-11477-07860</b></dt>
<dd><p>If the most recent call to sqlite3_step(S) for the prepared statement S returned SQLITE_ROW or SQLITE_DONE, or if sqlite3_step(S) has never before been called on S, then sqlite3_reset(S) returns SQLITE_OK.
<i>(source <a href="c3ref/reset.html">c3ref/reset.html</a>)</i></p></dd>

<dt><b>R-60158-04220-03927-63388-61889-60939-15901-21786</b></dt>
<dd><p>The sqlite3_get_auxdata() interface returns a pointer to the metadata associated by the sqlite3_set_auxdata() function with the Nth argument value to the application-defined function.
<i>(source <a href="c3ref/get_auxdata.html">c3ref/get_auxdata.html</a>)</i></p></dd>

<dt><b>R-60193-46484-49442-23041-20836-34513-52895-40654</b></dt>
<dd><p>A pragma may have an optional database name before the pragma name.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-60230-33797-24605-04663-41200-63158-10160-64247</b></dt>
<dd><p>Assuming that customer records are stored in the "customers" table, and that order records are stored in the "orders" table, the following trigger ensures that all associated orders are redirected when a customer changes his or her address: CREATE TRIGGER update_customer_address UPDATE OF address ON customers BEGIN UPDATE orders SET address = new.address WHERE customer_name = old.name; END; With this trigger installed, executing the statement: UPDATE customers SET address = '1 Main St.' WHERE name = 'Jack Jones'; causes the following to be automatically executed: UPDATE orders SET address = '1 Main St.' WHERE customer_name = 'Jack Jones';
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-60235-46489-17538-30450-39189-57367-12631-34674</b></dt>
<dd><p>The handler will sleep multiple times until at least "ms" milliseconds of sleeping have accumulated.
<i>(source <a href="c3ref/busy_timeout.html">c3ref/busy_timeout.html</a>)</i></p></dd>

<dt><b>R-60254-42800-59333-42801-60806-64877-54139-11361</b></dt>
<dd><p>In the "v2" interfaces, the prepared statement that is returned (the sqlite3_stmt object) contains a copy of the original SQL text.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-60292-04128-28566-07483-18233-58006-62395-18068</b></dt>
<dd><p>When temp_store is FILE (1) temporary tables and indices are stored in a file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-60324-39271-63103-21591-25385-29112-09183-41163</b></dt>
<dd><p>Key/value pairs are separated by a single "&" character.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-60334-12880-45954-16548-05057-35188-10924-38811</b></dt>
<dd><p>If the most recent evaluation of the statement encountered no errors or if the statement is never been evaluated, then sqlite3_finalize() returns SQLITE_OK.
<i>(source <a href="c3ref/finalize.html">c3ref/finalize.html</a>)</i></p></dd>

<dt><b>R-60349-29862-22141-07811-21559-44331-23137-45760</b></dt>
<dd><p>This API is only available if the library was compiled with the SQLITE_ENABLE_UNLOCK_NOTIFY C-preprocessor symbol defined.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-60355-64447-23225-33179-21170-11020-20743-59440</b></dt>
<dd><p>On success, the sqlite3_prepare() family of routines return SQLITE_OK; otherwise an error code is returned.
<i>(source <a href="c3ref/prepare.html">c3ref/prepare.html</a>)</i></p></dd>

<dt><b>R-60364-48303-16474-64960-19278-15379-28844-42689</b></dt>
<dd><p>The sqlite3_mutex_try() interface returns SQLITE_OK upon successful entry.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-60389-26911-28107-48751-35058-52596-03462-21420</b></dt>
<dd><p>Format 12 is the Julian day number expressed as a floating point value.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-60393-31613-36462-58260-50505-62429-64409-64176</b></dt>
<dd><p>Similarly, no index column will be used (for indexing purposes) that is to the right of a column that is constrained only by inequalities.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-60447-02252-11246-42635-40595-29603-30954-10090</b></dt>
<dd><p>If N is less than zero SQLITE_ERROR is returned and no data is written.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-60470-29837-23817-60993-08685-62249-11012-03852</b></dt>
<dd><p>The normal ROWID selection algorithm described above will generate monotonically increasing unique ROWIDs as long as you never use the maximum ROWID value and you never delete the entry in the table with the largest ROWID.
<i>(source <a href="autoinc.html">autoinc.html</a>)</i></p></dd>

<dt><b>R-60516-64103-60731-31538-24132-02538-08166-64982</b></dt>
<dd><p>The column on the left side of the GLOB operator must always use the built-in BINARY collating sequence or no attempt will be made to optimize that operator with indices.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-60541-63059-13982-01066-19481-07947-17056-17575</b></dt>
<dd><p>Running VACUUM to rebuild the database reclaims this space and reduces the size of the database file.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-60616-50251-50131-13271-23159-13048-15084-43797</b></dt>
<dd><p>If the default value of a column is an expression in parentheses, then the expression is evaluated once for each row inserted and the results used in the new row.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-60626-59740-27448-56337-63939-00650-38940-26585</b></dt>
<dd><p>All query parameters are always passed through into the xOpen method of the VFS even if they are previously read and interpreted by the SQLite core.
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-60642-19118-34635-14970-63611-19282-03834-09741</b></dt>
<dd><p>If L is greater than zero then integers with array indexes between 2 and L+1 inclusive contain page numbers for freelist leaf pages.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-60689-48779-46047-41985-19638-32834-28126-55991</b></dt>
<dd><p><img src="images/syntax/column-constraint.gif"><br>
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-60724-44826-64528-44201-35123-19922-03627-29268</b></dt>
<dd><p>The query string consists of text following the first "?" character but excluding the optional fragment that begins with with "#".
<i>(source <a href="uri.html">uri.html</a>)</i></p></dd>

<dt><b>R-60735-46752-55529-42699-37701-47683-08130-22396</b></dt>
<dd><p>BLOBs are encoded as hexadecimal literals.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-60740-01701-10970-58776-00065-61802-41311-28564</b></dt>
<dd><p>Note that the database name is not the filename that contains the database but rather the symbolic name of the database that appears after the AS keyword when the database is connected using ATTACH.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-60758-29241-24503-58415-42517-14147-34293-65020</b></dt>
<dd><p>The RELEASE command causes all savepoints back to and including the most recent savepoint with a matching name to be removed from the transaction stack.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-60770-10612-35184-24244-53222-19878-52254-20031</b></dt>
<dd><p>One of the ALL or DISTINCT keywords may follow the SELECT keyword in a simple SELECT statement.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-60781-26576-03771-52660-52946-42108-23315-08752</b></dt>
<dd><p>Foreign key DML errors are may be reported if: The parent table does not exist, or The parent key columns named in the foreign key constraint do not exist, or The parent key columns named in the foreign key constraint are not the primary key of the parent table and are not subject to a unique constraint using collating sequence specified in the CREATE TABLE, or The child table references the primary key of the parent without specifying the primary key columns and the number of primary key columns in the parent do not match the number of child key columns.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-60796-31013-26419-53006-52330-36420-35204-32933</b></dt>
<dd><p><img src="images/syntax/qualified-table-name.gif"><br>
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-60813-08986-02359-37993-40551-24945-25887-06253</b></dt>
<dd><p>If another thread is already within the mutex, sqlite3_mutex_enter() will block and sqlite3_mutex_try() will return SQLITE_BUSY.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-60831-05341-23362-01720-38236-12013-65294-04816</b></dt>
<dd><p>The argument is may be either in parentheses or it may be separated from the pragma name by an equal sign.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-60863-39805-51062-37396-52011-17839-31882-22346</b></dt>
<dd><p>When text data is inserted into a NUMERIC column, the storage class of the text is converted to INTEGER or REAL (in order of preference) if such conversion is lossless and reversible.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-60876-64599-55796-06816-32195-01348-28462-53334</b></dt>
<dd><p>The sqlite3_value_text16() interface extracts a UTF-16 string in the native byte-order of the host machine.
<i>(source <a href="c3ref/value_blob.html">c3ref/value_blob.html</a>)</i></p></dd>

<dt><b>R-60985-57662-04483-59248-10439-16937-18279-52954</b></dt>
<dd><p>SQLite will convert the value back to floating point when extracting it from the record.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-60996-19001-21157-19756-27838-17053-60503-46670</b></dt>
<dd><p>The LIKE optimization is not attempted if there is an EXCEPT phrase on the LIKE operator.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-61005-38009-10424-51044-09118-00847-38862-56166</b></dt>
<dd><p>The third column is the name of the database file itself, or an empty string if the database is not associated with a file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-61011-49942-02510-58821-51919-09145-23706-24617</b></dt>
<dd><p>If an sqlite3_exec() callback returns non-zero, the sqlite3_exec() routine returns SQLITE_ABORT without invoking the callback again and without running any subsequent SQL statements.
<i>(source <a href="c3ref/exec.html">c3ref/exec.html</a>)</i></p></dd>

<dt><b>R-61021-48434-13024-29200-26616-34663-08703-60511</b></dt>
<dd><p>SQLite will use the memory provided by the first argument to satisfy its memory needs for the first N pages that it adds to cache.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-61080-17963-44773-61437-15478-48991-05148-21886</b></dt>
<dd><p>The soft heap limit is not enforced in the current implementation if one or more of following conditions are true: The soft heap limit is set to zero. Memory accounting is disabled using a combination of the sqlite3_config(SQLITE_CONFIG_MEMSTATUS,...) start-time option and the SQLITE_DEFAULT_MEMSTATUS compile-time option. An alternative page cache implementation is specified using sqlite3_config(SQLITE_CONFIG_PCACHE2,...). The page cache allocates from its own memory pool supplied by sqlite3_config(SQLITE_CONFIG_PAGECACHE,...) rather than from the heap.
<i>(source <a href="c3ref/soft_heap_limit64.html">c3ref/soft_heap_limit64.html</a>)</i></p></dd>

<dt><b>R-61125-04352-22049-33549-09523-46226-36417-56097</b></dt>
<dd><p>The sqlite3_set_auxdata() interface saves the metadata pointed to by its 3rd parameter as the metadata for the N-th argument of the application-defined function.
<i>(source <a href="c3ref/get_auxdata.html">c3ref/get_auxdata.html</a>)</i></p></dd>

<dt><b>R-61141-39803-04912-41496-05961-04473-04345-36188</b></dt>
<dd><p>The value of the default cache size is stored in the 4-byte big-endian integer located at offset 48 in the header of the database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-61151-08373-36171-36206-10595-19729-59129-04462</b></dt>
<dd><p>The rules for determining which collating function to use for a binary comparison operator (=, <, >, <=, >=, !=, IS, and IS NOT) are as follows and in the order shown:
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-61172-15671-64149-04052-46334-28337-33946-53778</b></dt>
<dd><p>The DROP TRIGGER statement removes a trigger created by the CREATE TRIGGER statement.
<i>(source <a href="lang_droptrigger.html">lang_droptrigger.html</a>, checked-by: tcl/e_droptrigger.test)</i></p></dd>

<dt><b>R-61177-47713-20456-53383-60828-21202-49535-63505</b></dt>
<dd><p>The sqlite3_vfs_find() interface returns a pointer to a VFS given its name.
<i>(source <a href="c3ref/vfs_find.html">c3ref/vfs_find.html</a>)</i></p></dd>

<dt><b>R-61189-52809-58613-48789-49594-50841-42659-38002</b></dt>
<dd><p>If the function pointer is not NULL, it is invoked by sqlite3_log() to process each logging event.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-61209-06413-51781-11352-22820-24005-55507-30248</b></dt>
<dd><p>SQLite will always allocate at least mxPathname+1 bytes for the output buffer xFullPathname.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-61241-11973-05308-06384-59636-46330-32526-49143</b></dt>
<dd><p>A zeroblob uses a fixed amount of memory (just an integer to hold its size) while it is being processed.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-61245-13080-44710-37161-41291-34576-45179-36281</b></dt>
<dd><p>Changes to a view that are simulated by an INSTEAD OF trigger are not counted.
<i>(source <a href="c3ref/changes.html">c3ref/changes.html</a>)</i></p></dd>

<dt><b>R-61252-07930-60439-21097-11477-37252-52750-14936</b></dt>
<dd><p><img src="images/syntax/sql-stmt.gif"><br>
<i>(source <a href="lang.html">lang.html</a>)</i></p></dd>

<dt><b>R-61320-28907-46419-48450-41679-63199-14526-41488</b></dt>
<dd><p>This option specifies a static memory buffer that SQLite can use for the database page cache with the default page cache implementation.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-61362-32087-29784-51692-52137-61704-15338-45644</b></dt>
<dd><p>Attempting to insert a row into the track table that does not correspond to any row in the artist table will fail,
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-61373-41876-19091-55865-04211-37011-28922-20686</b></dt>
<dd><p>Each column name can be followed by one of the "ASC" or "DESC" keywords to indicate sort order.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-61376-43478-41054-59749-08806-37073-25549-48326</b></dt>
<dd><p>The glob(X,Y) function is equivalent to the expression "Y GLOB X".
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-61376-57267-60176-57380-17573-65142-26150-27865</b></dt>
<dd><p>A "CASCADE" action propagates the delete or update operation on the parent key to each dependent child key.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-61398-40833-12362-50823-23149-30773-34116-62445</b></dt>
<dd><p>The second argument to the busy handler callback is the number of times that the busy handler has been invoked for this locking event.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-61406-01422-12165-06477-03063-10518-53004-15686</b></dt>
<dd><p>The sqlite_master.type column will be one of the following text strings: 'table', 'index', 'view', or 'trigger' according to the type of object defined. The 'table' string is used for both ordinary and virtual tables.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-61430-55629-14606-55181-61950-28043-41747-60450</b></dt>
<dd><p>If an out-of-memory condition or IO error occurred during any prior sqlite3_backup_step() call on the same sqlite3_backup object, then sqlite3_backup_finish() returns the corresponding error code.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-61435-31567-58098-41334-50609-21089-31560-63690</b></dt>
<dd><p>The returned string is always UTF-8 encoded.
<i>(source <a href="c3ref/column_decltype.html">c3ref/column_decltype.html</a>)</i></p></dd>

<dt><b>R-61449-07528-25918-54581-50691-46240-35761-07017</b></dt>
<dd><p>If the 4th parameter to the sqlite3_result_text* interfaces or to sqlite3_result_blob is the special constant SQLITE_STATIC, then SQLite assumes that the text or BLOB result is in constant space and does not copy the content of the parameter nor call a destructor on the content when it has finished using that result.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-61460-11609-59028-58675-17503-61687-56091-42800</b></dt>
<dd><p>This function sets the database connection error code and message accessible via sqlite3_errcode() and sqlite3_errmsg() and related functions.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-61533-26777-10805-19639-06010-35256-55057-28233</b></dt>
<dd><p>The sqlite3_result_int64() interface sets the return value of the application-defined function to be the 64-bit signed integer value given in the 2nd argument.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-61538-24748-01508-26561-25102-39747-57677-47475</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT a FROM t1 EXCEPT SELECT d FROM t2 ORDER BY 1; 1|0|0|SCAN TABLE t1 USING COVERING INDEX i2 (~1000000 rows) 2|0|0|SCAN TABLE t2 (~1000000 rows) 2|0|0|USE TEMP B-TREE FOR ORDER BY 0|0|0|COMPOUND SUBQUERIES 1 AND 2 (EXCEPT)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-61552-16178-14306-58192-57064-56612-39039-04353</b></dt>
<dd><p>When selecting the order of tables in a join, SQLite uses a greedy algorithm that runs in polynomial (O(N&sup2;)) time.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-61561-09244-64416-20951-61914-64570-44208-64280</b></dt>
<dd><p>SQLITE_OPEN_READWRITE The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-61562-13487-33758-31073-47966-53384-12179-59162</b></dt>
<dd><p>The xCurrentTime() method returns a Julian Day Number for the current date and time as a floating point value.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-61616-46700-48571-17878-11289-09346-32706-45031</b></dt>
<dd><p>Similar queries may be run if the content of the parent key is modified or a new row is inserted into the parent table.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-61726-11117-39197-35640-53612-54106-15944-36516</b></dt>
<dd><p>SQLITE_LIMIT_TRIGGER_DEPTH The maximum depth of recursion for triggers.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-61762-07393-20764-09840-07916-26704-28322-25096</b></dt>
<dd><p>This option sets the default lookaside size. The SQLITE_DBCONFIG_LOOKASIDE verb to sqlite3_db_config() can be used to change the lookaside configuration on individual connections.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-61809-62207-01008-46404-05799-53014-10578-37094</b></dt>
<dd><p>For an "ON DELETE CASCADE" action, this means that each row in the child table that was associated with the deleted parent row is also deleted.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-61814-02062-02565-35451-43703-56216-37982-54981</b></dt>
<dd><p>On success, SQLITE_OK is returned and the new BLOB handle is written to *ppBlob. Otherwise an error code is returned and *ppBlob is set to be a null pointer.
<i>(source <a href="c3ref/blob_open.html">c3ref/blob_open.html</a>)</i></p></dd>

<dt><b>R-61815-26679-56101-35658-51912-28874-35291-46177</b></dt>
<dd><p>SQLite will invoke sqlite3_free() on *pzErrMsg after xEntryPoint() returns.
<i>(source <a href="c3ref/auto_extension.html">c3ref/auto_extension.html</a>)</i></p></dd>

<dt><b>R-61839-52333-58577-62900-39033-24200-06973-14092</b></dt>
<dd><p>This interface is used to retrieve and reset counter values from a prepared statement. The first argument is the prepared statement object to be interrogated. The second argument is an integer code for a specific SQLITE_STMTSTATUS counter to be interrogated.
<i>(source <a href="c3ref/stmt_status.html">c3ref/stmt_status.html</a>)</i></p></dd>

<dt><b>R-61854-19914-11596-34735-37969-17089-57602-12373</b></dt>
<dd><p>The sqlite3_finalize(S) routine can be called at any point during the life cycle of prepared statement S: before statement S is ever evaluated, after one or more calls to sqlite3_reset(), or after any call to sqlite3_step() regardless of whether or not the statement has completed execution.
<i>(source <a href="c3ref/finalize.html">c3ref/finalize.html</a>)</i></p></dd>

<dt><b>R-61866-38053-06386-06108-57047-24437-18773-29244</b></dt>
<dd><p>Unless the column is an INTEGER PRIMARY KEY SQLite allows NULL values in a PRIMARY KEY column.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-61868-16889-48893-12205-24003-02068-64322-60476</b></dt>
<dd><p>If a term consists of multiple subterms containing a common column name and separated by OR, like this: column = expr1 OR column = expr2 OR column = expr3 OR ... Then that term is rewritten as follows: column IN (expr1,expr2,expr3,expr4,...)
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-61869-22578-63508-59998-52394-40177-22644-30259</b></dt>
<dd><p>It is an error to use a "*" or "alias.*" expression in any context other than than a result expression list.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-61880-51724-38615-57809-58804-40819-55583-04695</b></dt>
<dd><p>For example, the sqlite_stat1 table might indicate that an equality constraint on column x reduces the search space to 10 rows on average, whereas an equality constraint on column y reduces the search space to 3 rows on average. In that case, SQLite would prefer to use index ex2i2 since that index.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-61888-49680-38370-22600-14954-58148-33546-00932</b></dt>
<dd><p>SQLite invokes the xCreate() method to construct a new cache instance.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-61914-48074-43351-14056-51344-34537-46858-37537</b></dt>
<dd><p>If the table is initially empty, then a ROWID of 1 is used.
<i>(source <a href="autoinc.html">autoinc.html</a>, checked-by: src/vdbe.c)</i></p></dd>

<dt><b>R-61915-31690-21946-53304-13926-27111-60628-08373</b></dt>
<dd><p>The sqlite3_file_control() interface makes a direct call to the xFileControl method for the sqlite3_io_methods object associated with a particular database identified by the second argument.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-61942-17018-62236-02362-42701-24808-41313-47258</b></dt>
<dd><p>An SQL statement can be preceded by the keyword "EXPLAIN" or by the phrase "EXPLAIN QUERY PLAN".
<i>(source <a href="lang_explain.html">lang_explain.html</a>)</i></p></dd>

<dt><b>R-61949-35727-14867-12999-21207-20215-20581-25391</b></dt>
<dd><p>The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb may be NULL in which case SQLite will allocate the lookaside buffer itself using sqlite3_malloc().
<i>(source <a href="c3ref/c_dbconfig_enable_fkey.html">c3ref/c_dbconfig_enable_fkey.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-61972-47750-14652-28694-02794-16402-15502-30377</b></dt>
<dd><p>If SQLite is compiled and configured to support threadsafe database connections, then the source database connection may be used concurrently from within other threads.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-61975-13410-23961-36433-37989-49063-55179-53550</b></dt>
<dd><p>It is not possible for an IS or IS NOT expression to evaluate to NULL.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-61987-00541-30628-29518-50059-37734-56753-06843</b></dt>
<dd><p>SQLITE_LIMIT_LENGTH The maximum size of any string or BLOB or table row, in bytes.
<i>(source <a href="c3ref/c_limit_attached.html">c3ref/c_limit_attached.html</a>)</i></p></dd>

<dt><b>R-62039-61571-24368-30333-11201-30520-56861-22686</b></dt>
<dd><p>Semicolons that are embedded within string literals or quoted identifier names or comments are not independent tokens (they are part of the token in which they are embedded) and thus do not count as a statement terminator.
<i>(source <a href="c3ref/complete.html">c3ref/complete.html</a>)</i></p></dd>

<dt><b>R-62073-11209-24210-38287-05077-10013-43316-09914</b></dt>
<dd><p>The changes() SQL function is a wrapper around the sqlite3_changes() C/C++ function and hence follows the same rules for counting changes.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-62077-19799-31313-45519-13193-54177-64484-42516</b></dt>
<dd><p><img src="images/syntax/delete-stmt.gif"><br>
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-62084-05956-21371-24273-03009-23026-15537-48661</b></dt>
<dd><p>The typeof(X) function returns a string that indicates the datatype of the expression X: "null", "integer", "real", "text", or "blob".
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-62098-31964-50805-21241-10330-01586-45989-63464</b></dt>
<dd><p>The date() function returns the date in this format: YYYY-MM-DD.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-62101-33764-02885-01676-40188-04354-35995-63967</b></dt>
<dd><p>The transaction names need not be unique.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-62112-42456-10685-52365-06071-10785-51242-17242</b></dt>
<dd><p>If the query optimizer is unable to use the index specified by the INDEX BY clause, then the query will fail with an error.
<i>(source <a href="lang_indexedby.html">lang_indexedby.html</a>)</i></p></dd>

<dt><b>R-62130-19577-56328-54750-47735-17464-51541-08584</b></dt>
<dd><p>In a well-formed database, all children of any one interior b-tree have the same depth.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-62139-20964-30258-06406-62558-17842-12310-23723</b></dt>
<dd><p>The sqlite3_mutex_alloc() routine allocates a new mutex and returns a pointer to it.
<i>(source <a href="c3ref/mutex_alloc.html">c3ref/mutex_alloc.html</a>)</i></p></dd>

<dt><b>R-62172-00036-57834-47035-33859-45076-31922-24757</b></dt>
<dd><p>In this implementation, the standard C library function localtime_r() is used to assist in the calculation of local time.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-62228-34103-25380-61846-47430-09254-46477-55568</b></dt>
<dd><p>sqlite> CREATE INDEX i2 ON t1(a, b); sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; 0|0|0|SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) (~10 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-62267-62884-09796-14012-16099-39965-57946-58351</b></dt>
<dd><p>New automatically generated integer primary keys for AUTOINCREMENT tables are guaranteed to be larger than the sqlite_sequence.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-62291-37402-63159-44375-18587-14784-42471-08644</b></dt>
<dd><p>The SQLITE_UTF16_ALIGNED value for eTextRep forces strings to begin on an even byte address.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-62327-53843-00789-05763-27259-51867-41833-27488</b></dt>
<dd><p>For CURRENT_TIME, the format of the value is "HH:MM:SS".
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-62337-45828-29651-32144-23547-07392-08457-12637</b></dt>
<dd><p><img src="images/syntax/update-stmt.gif"><br>
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-62338-03151-32833-50529-63145-58374-11729-12446</b></dt>
<dd><p>Comments can appear anywhere whitespace can occur, including inside expressions and in the middle of other SQL statements.
<i>(source <a href="lang_comment.html">lang_comment.html</a>)</i></p></dd>

<dt><b>R-62351-41098-13416-45377-12823-43101-65354-24349</b></dt>
<dd><p>The %q option works like %s in that it substitutes a nul-terminated string from the argument list. But %q also doubles every '\'' character. %q is designed for use inside a string literal.
<i>(source <a href="c3ref/mprintf.html">c3ref/mprintf.html</a>)</i></p></dd>

<dt><b>R-62380-26708-45604-24232-06189-26790-29124-54464</b></dt>
<dd><p>For any given query, the fact that the OR-clause optimization described here can be used does not guarantee that it will be used.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-62387-32490-07444-45024-48993-13928-41277-45116</b></dt>
<dd><p>If the memory pointer is not NULL and either SQLITE_ENABLE_MEMSYS3 or SQLITE_ENABLE_MEMSYS5 are defined, then the alternative memory allocator is engaged to handle all of SQLites memory allocation needs.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-62406-19374-15611-19215-61037-24367-51028-27326</b></dt>
<dd><p>The SQLITE_OPEN_DELETEONCLOSE will be set for TEMP databases and their journals, transient databases, and subjournals.
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-62430-08741-05559-36093-65026-57110-22161-12770</b></dt>
<dd><p>There is one entry in index b-tree for each row in the corresponding table.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-62469-05091-48869-23817-54734-43619-45624-64340</b></dt>
<dd><p>New SQL statements that are started after the running statement count reaches zero are not effected by the sqlite3_interrupt().
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-62477-06476-47005-06861-24657-48512-17530-06708</b></dt>
<dd><p>For example, the values NULL, 0.0, 0, 'english' and '0' are all considered to be false.
<i>(source <a href="lang_expr.html">lang_expr.html</a>)</i></p></dd>

<dt><b>R-62524-00361-43972-00662-13754-47213-53169-39623</b></dt>
<dd><p>If a column-list is specified, then the number of values must match the number of specified columns.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-62557-09390-19199-07054-57696-39577-58389-44787</b></dt>
<dd><p>SQLite uses the path component of the URI as the name of the disk file which contains the database.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-62598-50665-64934-51801-32415-41213-44232-38622</b></dt>
<dd><p>If an error occurs while running sqlite3_backup_step(B,N), then an error code is returned.
<i>(source <a href="c3ref/backup_finish.html">c3ref/backup_finish.html</a>)</i></p></dd>

<dt><b>R-62610-51329-57761-33466-25437-21860-03475-27712</b></dt>
<dd><p>A dollar-sign followed by an identifier name also holds a spot for a named parameter with the name $AAAA.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-62632-06079-21053-35147-03546-21377-45684-59837</b></dt>
<dd><p>The sqlite_master.sql column stores SQL text that describes the object. This SQL text is a CREATE TABLE, CREATE VIRTUAL TABLE, CREATE INDEX, CREATE VIEW, or CREATE TRIGGER statement that if evaluated against the database file when it is the main database of a database connection would recreated the object.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-62702-40333-38179-40885-41988-22128-55744-38762</b></dt>
<dd><p>If for some reason, sqlite3_initialize() is unable to initialize the library (perhaps it is unable to allocate a needed resource such as a mutex) it returns an error code other than SQLITE_OK.
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-62740-39384-05078-12157-18759-37018-24032-16854</b></dt>
<dd><p>To change from "full" or "incremental" back to "none" always requires running VACUUM even on an empty database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-62782-27113-42237-60058-30893-13916-02478-23717</b></dt>
<dd><p>The module name is registered on the database connection specified by the first parameter.
<i>(source <a href="c3ref/create_module.html">c3ref/create_module.html</a>)</i></p></dd>

<dt><b>R-62787-27093-28776-07696-30673-33201-48142-02108</b></dt>
<dd><p>The new journal mode is returned.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-62792-33996-11773-03176-05046-17928-37966-25264</b></dt>
<dd><p>Note that "&plusmn;NNN months" works by rendering the original date into the YYYY-MM-DD format, adding the &plusmn;NNN to the MM month value, then normalizing the result.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-62804-28221-24652-30727-46370-42129-23035-01106</b></dt>
<dd><p>The "legacy" schema format (1) ignores index sort order.
<i>(source <a href="lang_createindex.html">lang_createindex.html</a>)</i></p></dd>

<dt><b>R-62860-04741-41366-30406-60752-17856-14374-30516</b></dt>
<dd><p>If the blocked connection is attempting to obtain a write-lock on a shared-cache table, and more than one other connection currently holds a read-lock on the same table, then SQLite arbitrarily selects one of the other connections to use as the blocking connection.
<i>(source <a href="c3ref/unlock_notify.html">c3ref/unlock_notify.html</a>)</i></p></dd>

<dt><b>R-62913-19830-16030-42655-41174-29116-40982-36331</b></dt>
<dd><p>Otherwise, it is evaluated against a single arbitrarily chosen row from within the group.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-62934-49871-09497-07917-16073-27879-22193-01874</b></dt>
<dd><p>The in-header database size is always valid when the database is only modified using recent versions of SQLite (versions 3.7.0 and later).
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-62940-43005-38403-24829-20442-30749-08481-51703</b></dt>
<dd><p>An explicit DEFAULT clause may specify that the default value is NULL, a string constant, a blob constant, a signed-number, or any constant expression enclosed in parentheses. An explicit default value may also be one of the special case-independent keywords CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-62953-16283-60973-36600-59526-31076-28505-32788</b></dt>
<dd><p>The sqlite3_result_error() and sqlite3_result_error16() functions cause the implemented SQL function to throw an exception.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-63031-02836-45594-08139-49000-01895-41232-15259</b></dt>
<dd><p>SQLITE_DBSTATUS_STMT_USED This parameter returns the approximate number of of bytes of heap and lookaside memory used by all prepared statements associated with the database connection.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-63048-43246-17135-38740-38774-19406-60211-40776</b></dt>
<dd><p>The number of freelist pages is stored as a 4-byte big-endian integer in the database header at an offset of 36 from the beginning of the file.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-63075-15970-39501-22460-58793-43455-08281-02350</b></dt>
<dd><p>Once the view is created, it can be used in the FROM clause of another SELECT in place of a table name.
<i>(source <a href="lang_createview.html">lang_createview.html</a>)</i></p></dd>

<dt><b>R-63084-42258-54235-44279-08664-11821-33988-63457</b></dt>
<dd><p>Calling sqlite3_blob_bytes() on an aborted blob handle always returns zero.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-63088-37469-41348-62985-35702-04852-27256-05198</b></dt>
<dd><p>Tables child6 and child7 are incorrect because while both have UNIQUE indices on their parent keys, the keys are not an exact match to the columns of a single UNIQUE index.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-63118-10534-54109-12046-30857-19440-30465-07997</b></dt>
<dd><p><img src="images/syntax/create-virtual-table-stmt.gif"><br>
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-63119-53774-25938-08953-42086-26261-27933-12483</b></dt>
<dd><p>New database files created by SQLite use format 4 by default.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-63124-39300-47744-26489-17674-09834-33571-10965</b></dt>
<dd><p>The sqlite3_sourceid() function returns a pointer to a string constant whose value is the same as the SQLITE_SOURCE_ID C preprocessor macro.
<i>(source <a href="c3ref/libversion.html">c3ref/libversion.html</a>, checked-by: src/main.c)</i></p></dd>

<dt><b>R-63138-42446-16317-19373-58144-17163-01725-20742</b></dt>
<dd><p>If none of the arguments to max() define a collating function, then the BINARY collating function is used.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-63158-42531-36923-32686-05307-30173-57746-45416</b></dt>
<dd><p>These APIs are only available if the library was compiled with the SQLITE_ENABLE_COLUMN_METADATA C-preprocessor symbol.
<i>(source <a href="c3ref/column_database_name.html">c3ref/column_database_name.html</a>)</i></p></dd>

<dt><b>R-63167-05205-45599-43338-46949-25227-48175-10749</b></dt>
<dd><p>A virtual table is destroyed using the ordinary DROP TABLE statement.
<i>(source <a href="lang_createvtab.html">lang_createvtab.html</a>)</i></p></dd>

<dt><b>R-63235-50818-32083-65430-57291-26103-11022-63065</b></dt>
<dd><p>When the payload of a b-tree cell is too large for the b-tree page, the surplus is spilled onto overflow pages.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-63281-20212-62039-35222-60844-35741-46546-02642</b></dt>
<dd><p>PRAGMA freelist_count; Return the number of unused pages in the database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-63285-37134-15488-58217-13163-52553-20689-06808</b></dt>
<dd><p>In the SQL statement text input to sqlite3_prepare_v2() and its variants, literals may be replaced by a parameter that matches one of following templates: ? ?NNN :VVV @VVV $VVV In the templates above, NNN represents an integer literal, and VVV represents an alphanumeric identifier.
<i>(source <a href="c3ref/bind_blob.html">c3ref/bind_blob.html</a>)</i></p></dd>

<dt><b>R-63286-51977-31491-11604-12483-48115-04561-38158</b></dt>
<dd><p>If the ORDER BY expression is an identifier that corresponds to the alias of one of the output columns, then the expression is considered an alias for that column.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-63294-00538-51136-33751-00245-32067-21028-12625</b></dt>
<dd><p>When all collating functions having the same name are deleted, that collation is no longer usable.
<i>(source <a href="c3ref/create_collation.html">c3ref/create_collation.html</a>)</i></p></dd>

<dt><b>R-63298-27030-17109-21513-26476-43157-51997-36280</b></dt>
<dd><p>Triggers may be created on views, as well as ordinary tables, by specifying INSTEAD OF in the CREATE TRIGGER statement.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-63341-57517-64693-29591-34989-59774-15075-48148</b></dt>
<dd><p>If the BLOB handle passed as the first argument was not opened for writing (the flags parameter to sqlite3_blob_open() was zero), this function returns SQLITE_READONLY.
<i>(source <a href="c3ref/blob_write.html">c3ref/blob_write.html</a>)</i></p></dd>

<dt><b>R-63343-15609-11144-30298-25723-19450-19733-02182</b></dt>
<dd><p>The build-in functions used to implement LIKE and GLOB must not have been overloaded using the sqlite3_create_function() API.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-63358-54862-20604-43195-17268-30458-30716-26146</b></dt>
<dd><p>If there is a USING clause specified as part of the join-constraint, then each of the column names specified must exist in the datasets to both the left and right of the join-op.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-63408-55464-37825-38820-53279-17116-24066-22476</b></dt>
<dd><p>All subsequent calls to sqlite3_blob_read(), sqlite3_blob_write() or sqlite3_blob_reopen() on an aborted blob handle immediately return SQLITE_ABORT.
<i>(source <a href="c3ref/blob_reopen.html">c3ref/blob_reopen.html</a>)</i></p></dd>

<dt><b>R-63410-40253-21839-45893-21054-56452-29743-16141</b></dt>
<dd><p>Regardless of the compile-time configuration, any identifier that is not on the following 121 element list is not a keyword to the SQL parser in SQLite: ABORT ACTION ADD AFTER ALL ALTER ANALYZE AND AS ASC ATTACH AUTOINCREMENT BEFORE BEGIN BETWEEN BY CASCADE CASE CAST CHECK COLLATE COLUMN COMMIT CONFLICT CONSTRAINT CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP DATABASE DEFAULT DEFERRABLE DEFERRED DELETE DESC DETACH DISTINCT DROP EACH ELSE END ESCAPE EXCEPT EXCLUSIVE EXISTS EXPLAIN FAIL FOR FOREIGN FROM FULL GLOB GROUP HAVING IF IGNORE IMMEDIATE IN INDEX INDEXED INITIALLY INNER INSERT INSTEAD INTERSECT INTO IS ISNULL JOIN KEY LEFT LIKE LIMIT MATCH NATURAL NO NOT NOTNULL NULL OF OFFSET ON OR ORDER OUTER PLAN PRAGMA PRIMARY QUERY RAISE REFERENCES REGEXP REINDEX RELEASE RENAME REPLACE RESTRICT RIGHT ROLLBACK ROW SAVEPOINT SELECT SET TABLE TEMP TEMPORARY THEN TO TRANSACTION TRIGGER UNION UNIQUE UPDATE USING VACUUM VALUES VIEW VIRTUAL WHEN WHERE
<i>(source <a href="lang_keywords.html">lang_keywords.html</a>)</i></p></dd>

<dt><b>R-63435-12225-33829-37402-17211-27130-05815-22642</b></dt>
<dd><p>The sqlite3_get_autocommit() interface returns non-zero or zero if the given database connection is or is not in autocommit mode, respectively.
<i>(source <a href="c3ref/get_autocommit.html">c3ref/get_autocommit.html</a>)</i></p></dd>

<dt><b>R-63464-64949-61376-49766-27105-42623-27880-27478</b></dt>
<dd><p>If an application uses more than one database connection then application-defined SQL functions must be added to each database connection separately.
<i>(source <a href="c3ref/create_function.html">c3ref/create_function.html</a>)</i></p></dd>

<dt><b>R-63472-46769-27275-37406-54575-06040-42542-11572</b></dt>
<dd><p>Specifying an unknown parameter in the query component of a URI is not an error.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>, checked-by: tcl/e_uri.test)</i></p></dd>

<dt><b>R-63519-36751-50402-28921-52304-51801-25208-52249</b></dt>
<dd><p>The load_extension(X,Y) function loads SQLite extensions out of the shared library file named X using the entry point Y.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-63522-46088-33895-54497-03733-53184-07098-33228</b></dt>
<dd><p>The only way to change out of EXCLUSIVE locking mode is to first change out of WAL journal mode.
<i>(source <a href="wal.html">wal.html</a>)</i></p></dd>

<dt><b>R-63538-32809-01378-44011-42749-12348-30835-21408</b></dt>
<dd><p>The count returned by sqlite3_total_changes() includes all changes from all trigger contexts and changes made by foreign key actions. However, the count does not include changes used to implement REPLACE constraints, do rollbacks or ABORT processing, or DROP TABLE processing. The count does not include rows of views that fire an INSTEAD OF trigger, though if the INSTEAD OF trigger makes changes of its own, those changes are counted.
<i>(source <a href="c3ref/total_changes.html">c3ref/total_changes.html</a>)</i></p></dd>

<dt><b>R-63573-50730-47689-26625-21808-11120-05729-38640</b></dt>
<dd><p>The expressions in a GROUP BY clause may not be aggregate expressions.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-63582-45120-10136-38887-13737-27800-47314-58816</b></dt>
<dd><p>A negative value is interpreted as "no limit".
<i>(source <a href="lang_update.html">lang_update.html</a>, checked-by: tcl/e_update.test)</i></p></dd>

<dt><b>R-63614-47421-34077-31697-65388-09052-31073-41571</b></dt>
<dd><p>If a column-list is specified, the number of columns in the result of the SELECT must be the same as the number of items in the column-list.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-63640-30478-19678-56353-44269-64088-00727-27253</b></dt>
<dd><p>PRAGMA max_page_count; PRAGMA max_page_count = N; Query or set the maximum number of pages in the database file.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-63656-25792-13227-10920-63493-08567-09592-14766</b></dt>
<dd><p>The sqlite3_db_handle interface returns the database connection handle to which a prepared statement belongs.
<i>(source <a href="c3ref/db_handle.html">c3ref/db_handle.html</a>)</i></p></dd>

<dt><b>R-63660-13730-40361-36600-49819-61310-05389-38402</b></dt>
<dd><p>OLD and NEW references may only be used in triggers on events for which they are relevant, as follows: INSERT NEW references are valid UPDATE NEW and OLD references are valid DELETE OLD references are valid
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-63666-48755-16443-16891-11864-30751-29625-02647</b></dt>
<dd><p>If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config() with the SQLITE_CONFIG_MUTEX configuration option will return SQLITE_ERROR.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-63672-25227-17465-07864-20680-40543-20473-50716</b></dt>
<dd><p>The outputs s0 and s1 are both weighted checksums using Fibonacci weights in reverse order.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-63697-19365-62485-52298-29987-32888-31412-50224</b></dt>
<dd><p>Calls to sqlite3_db_config() return SQLITE_OK if and only if the call is considered successful.
<i>(source <a href="c3ref/db_config.html">c3ref/db_config.html</a>)</i></p></dd>

<dt><b>R-63721-11986-01337-51273-44360-30402-45045-08949</b></dt>
<dd><p>With the "v2" interface, any of the other result codes or extended result codes might be returned as well.
<i>(source <a href="c3ref/step.html">c3ref/step.html</a>)</i></p></dd>

<dt><b>R-63725-33821-44537-37255-59793-46389-19158-48724</b></dt>
<dd><p>Compute the date of the first Tuesday in October for the current year. SELECT date('now','start of year','+9 months','weekday 2');
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-63738-52347-58409-58888-44272-05587-23717-04052</b></dt>
<dd><p>The first two forms of this pragma query the current journaling mode for database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-63742-65009-14401-02244-32779-40518-14763-45993</b></dt>
<dd><p>The LIKE optimization is not attempted if the right-hand side is a parameter and the statement was prepared using sqlite3_prepare() or sqlite3_prepare16().
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-63744-06513-59063-17851-21524-22692-32901-55549</b></dt>
<dd><p>Corresponding rows int the index and table b-trees share the same rowid value, and contain the same value for all indexed columns.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-63748-42498-08000-42048-14533-30815-48804-51551</b></dt>
<dd><p>The sqlite3_shutdown() routine deallocates any resources that were allocated by sqlite3_initialize().
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-63806-59621-53713-38948-48550-43673-56726-15716</b></dt>
<dd><p>If the resetFlg is true, then the highest instantaneous value is reset back down to the current value.
<i>(source <a href="c3ref/db_status.html">c3ref/db_status.html</a>)</i></p></dd>

<dt><b>R-63827-07147-50106-23079-54369-23240-21585-39525</b></dt>
<dd><p>To read a page from the database (call it page number P), a reader first checks the WAL to see if it contains page P. If so, then the last valid instance of page P that is followed by a commit frame or is a commit frame itself becomes the value read.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-63827-54774-55681-65216-20145-09613-22847-12086</b></dt>
<dd><p>The text of the child CREATE TABLE statement or statements stored in the sqlite_master table are modified to reflect the new parent table name.
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-63853-36446-52089-02203-27154-16587-21874-42346</b></dt>
<dd><p>If the callback returns non-zero, then another attempt is made to open the database for reading and the cycle repeats.
<i>(source <a href="c3ref/busy_handler.html">c3ref/busy_handler.html</a>)</i></p></dd>

<dt><b>R-63860-02697-07339-29588-22030-08918-47419-18368</b></dt>
<dd><p>On second and subsequent calls to sqlite3_aggregate_context() for the same aggregate function instance, the same buffer is returned.
<i>(source <a href="c3ref/aggregate_context.html">c3ref/aggregate_context.html</a>)</i></p></dd>

<dt><b>R-64004-53814-05259-60925-08012-55166-06006-38537</b></dt>
<dd><p>If there is no OFFSET clause, or the calculated integer value is negative, the effective OFFSET value is zero.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-64016-22984-52243-31154-04159-15253-33575-11293</b></dt>
<dd><p>A column with NUMERIC affinity may contain values using all five storage classes.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-64017-26165-55276-08272-52106-53519-03640-42248</b></dt>
<dd><p>The sqlite3_finalize() function is called to delete a prepared statement.
<i>(source <a href="c3ref/finalize.html">c3ref/finalize.html</a>)</i></p></dd>

<dt><b>R-64021-07698-52025-10986-56394-35084-34302-37940</b></dt>
<dd><p>If the write-ahead log is enabled (via the journal_mode pragma), this pragma causes a checkpoint operation to run on database database, or on all attached databases if database is omitted.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64042-44134-03742-07375-28466-35088-05183-39184</b></dt>
<dd><p>This option specifies a static memory buffer that SQLite will use for all of its dynamic memory allocation needs beyond those provided for by SQLITE_CONFIG_SCRATCH and SQLITE_CONFIG_PAGECACHE.
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-64049-08691-55124-50671-44406-19697-22475-30547</b></dt>
<dd><p>The expression "a IN (x, y, z, ...)" is equivalent to "a = +x OR a = +y OR a = +z OR ...".
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-64056-51992-26922-35831-30879-15759-20002-65102</b></dt>
<dd><p>date(timestring, modifier, modifier, ...)
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-64082-04685-34430-02984-31872-50387-26964-32862</b></dt>
<dd><p>No database changes are rolled back.
<i>(source <a href="lang_createtrigger.html">lang_createtrigger.html</a>)</i></p></dd>

<dt><b>R-64087-16721-24549-03626-61388-00881-27968-63331</b></dt>
<dd><p>If the SQLITE_OPEN_FULLMUTEX flag is set then the database connection opens in the serialized threading mode unless single-thread was previously selected at compile-time or start-time.
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-64107-03133-60846-38260-58078-31674-53966-09002</b></dt>
<dd><p>The nullif(X,Y) function searches its arguments from left to right for an argument that defines a collating function and uses that collating function for all string comparisons.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-64130-24369-52120-61237-04539-27042-01288-33957</b></dt>
<dd><p>The substr(X,Y,Z) function returns a substring of input string X that begins with the Y-th character and which is Z characters long.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-64138-28774-62367-40797-31143-24203-38235-49085</b></dt>
<dd><p>An aggregate query without a GROUP BY clause always returns exactly one row of data, even if there are zero rows of input data.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-64181-14613-53701-06072-07396-32468-31782-52687</b></dt>
<dd><p>The string returned by sqlite_source_id() begins with the date and time that the source code was checked in and is follows by an SHA1 hash that uniquely identifies the source tree.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-64196-02418-34530-60079-02261-31119-19452-38352</b></dt>
<dd><p>The optional "database-name." prefix on the table-name is support for top-level INSERT statements only.
<i>(source <a href="lang_insert.html">lang_insert.html</a>, checked-by: tcl/e_insert.test)</i></p></dd>

<dt><b>R-64199-22471-28685-05688-45410-48917-35278-06379</b></dt>
<dd><p>If the ORDER BY expression is assigned a collation sequence using the postfix COLLATE operator, then the specified collation sequence is used.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-64208-08323-60692-17732-27345-12274-61200-51839</b></dt>
<dd><p>sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; 0|0|0|SCAN TABLE t1 (~100000 rows)
<i>(source <a href="eqp.html">eqp.html</a>, checked-by: tcl/eqp.test)</i></p></dd>

<dt><b>R-64212-57783-04701-61046-11389-10494-13755-04937</b></dt>
<dd><p>When enabled, this PRAGMA causes SELECT statements without an ORDER BY clause to emit their results in the reverse order of what they normally would.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64224-62578-03972-01663-15299-36598-00230-00133</b></dt>
<dd><p>If an UPDATE statement attempts to set an integer primary key or rowid column to a NULL or blob value, or to a string or real value that cannot be losslessly converted to an integer, a "datatype mismatch" error occurs and the statement is aborted.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-64249-42392-53555-26523-38701-52551-63844-05212</b></dt>
<dd><p>The ltrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the left side of X.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-64276-00534-35608-51878-49907-08473-11116-64004</b></dt>
<dd><p>Any existing statements prepared using the legacy sqlite3_prepare() interface may fail with an SQLITE_SCHEMA error after the foreign_keys setting is changed.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64324-28127-56247-07957-53732-02733-48072-24920</b></dt>
<dd><p>A TEXT value is less than a BLOB value.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-64339-08207-62295-08025-25920-64931-51173-62033</b></dt>
<dd><p>Sometimes one or more terms will provide hints to indices but still must be evaluated against each row of the input tables.
<i>(source <a href="optoverview.html">optoverview.html</a>, checked-by: src/where.c)</i></p></dd>

<dt><b>R-64365-33714-02196-49679-58449-42596-39965-50249</b></dt>
<dd><p>SQLITE_DBSTATUS_CACHE_HIT This parameter returns the number of pager cache hits that have occurred.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-64470-55820-31502-18212-19924-05102-35790-30152</b></dt>
<dd><p>Calling this routine with an argument less than or equal to zero turns off all busy handlers.
<i>(source <a href="c3ref/busy_timeout.html">c3ref/busy_timeout.html</a>)</i></p></dd>

<dt><b>R-64479-57858-30969-38404-45379-17984-36095-58502</b></dt>
<dd><p>The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0.
<i>(source <a href="c3ref/c_dbstatus_options.html">c3ref/c_dbstatus_options.html</a>)</i></p></dd>

<dt><b>R-64486-07109-38818-39912-16477-45635-40659-20062</b></dt>
<dd><p>All five date and time functions take a time string as an argument.
<i>(source <a href="lang_datefunc.html">lang_datefunc.html</a>)</i></p></dd>

<dt><b>R-64488-01207-41542-36370-36584-38548-35733-59275</b></dt>
<dd><p>The temp_store_directory pragma can be used to specify the directory containing temporary files when FILE is specified.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64528-42778-02888-51810-06932-64442-58390-22409</b></dt>
<dd><p>If the 3rd parameter to the sqlite3_result_text* interfaces is non-negative, then as many bytes (not characters) of the text pointed to by the 2nd parameter are taken as the application-defined function result.
<i>(source <a href="c3ref/result_blob.html">c3ref/result_blob.html</a>)</i></p></dd>

<dt><b>R-64531-59395-59522-15917-19627-46695-59010-51244</b></dt>
<dd><p>Invoking this pragma without an argument is equivalent to calling the sqlite3_wal_checkpoint() C interface.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64535-08414-56299-20863-17793-59913-52096-13773</b></dt>
<dd><p>If there are less than N rows remaining after taking the OFFSET clause into account, or if the LIMIT clause evaluated to a negative value, then all remaining rows are deleted.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-64538-61370-57168-62793-57382-02080-38146-52102</b></dt>
<dd><p>The first integer in the array is the page number of the next freelist trunk page in the list or zero if this is the last freelist trunk page.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-64550-29191-54086-24811-00443-47986-21003-27772</b></dt>
<dd><p>Note that the result from casting any non-BLOB value into a BLOB and the result from casting any BLOB value into a non-BLOB value may be different depending on whether the database encoding is UTF-8, UTF-16be, or UTF-16le.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-64586-34038-50551-35162-29949-64214-50082-35974</b></dt>
<dd><p>On a checkpoint, the WAL is first flushed to persistent storage using the xSync method of the VFS.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-64600-17320-28497-51655-11610-39748-50206-04089</b></dt>
<dd><p>The first ptrmap page will contain back pointer information for pages 3 through J+2, inclusive.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-64625-44339-60095-18400-35169-15526-52031-11800</b></dt>
<dd><p>The 6th parameter to the authorizer callback is the name of the inner-most trigger or view that is responsible for the access attempt or NULL if this access attempt is directly from top-level SQL code.
<i>(source <a href="c3ref/c_alter_table.html">c3ref/c_alter_table.html</a>)</i></p></dd>

<dt><b>R-64629-22390-19344-37404-07828-61811-57666-02667</b></dt>
<dd><p>Unused database file pages are added to a "freelist" and reused for subsequent inserts.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64629-41035-41356-60925-45960-54046-62030-03939</b></dt>
<dd><p>The sqlite3_trace() callback is invoked with a UTF-8 rendering of the SQL statement text as the statement first begins executing.
<i>(source <a href="c3ref/profile.html">c3ref/profile.html</a>)</i></p></dd>

<dt><b>R-64634-29359-61184-64182-15828-53059-45249-47923</b></dt>
<dd><p>Note also that when adding a CHECK constraint, the CHECK constraint is not tested against preexisting rows of the table.
<i>(source <a href="lang_altertable.html">lang_altertable.html</a>)</i></p></dd>

<dt><b>R-64707-05329-18384-25236-31190-36839-36915-56468</b></dt>
<dd><p>The left-most character of X is number 1.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-64727-38667-40496-57700-54437-61436-18506-15131</b></dt>
<dd><p>The legacy_file_format pragma is initialized to OFF when an existing database in the newer file format is first opened.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64770-29120-59115-58521-20051-37065-45923-19746</b></dt>
<dd><p>The rewritten term then might go on to constrain an index using the normal rules for IN operators.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-64781-29425-02417-13736-38225-42517-23683-29387</b></dt>
<dd><p>Some pragmas take effect during the SQL compilation stage, not the execution stage.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64809-29224-33309-48329-38874-47326-32566-40643</b></dt>
<dd><p>An SQL operation that is interrupted will return SQLITE_INTERRUPT.
<i>(source <a href="c3ref/interrupt.html">c3ref/interrupt.html</a>)</i></p></dd>

<dt><b>R-64812-56077-47875-43117-23188-46780-09721-28568</b></dt>
<dd><p>If every subterm of an OR clause is separately indexable then the OR clause might be coded such that a separate index is used to evaluate each term of the OR clause.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-64813-58505-03479-11903-29047-19194-00816-28075</b></dt>
<dd><p>The WAL is always located in the same directory as the database file and has the same name as the database file but with the string "-wal" appended.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-64828-59568-61067-60898-36143-56429-01681-45331</b></dt>
<dd><p>The table has the same number of columns as the rows returned by the SELECT statement. The name of each column is the same as the name of the corresponding column in the result set of the SELECT statement.
<i>(source <a href="lang_createtable.html">lang_createtable.html</a>, checked-by: tcl/e_createtable.test)</i></p></dd>

<dt><b>R-64839-61120-28231-56530-41272-62247-43805-43738</b></dt>
<dd><p>SQLite may attempt to convert values between the storage classes INTEGER, REAL, and/or TEXT before performing a comparison.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-64844-34873-54978-44161-37358-50690-61472-16160</b></dt>
<dd><p>When auto_vacuum is enabled for a database free pages may be reclaimed after deleting data, causing the file to shrink, without rebuilding the entire database using VACUUM.
<i>(source <a href="lang_vacuum.html">lang_vacuum.html</a>, checked-by: tcl/e_vacuum.test)</i></p></dd>

<dt><b>R-64852-21591-48845-17571-26387-46542-15231-04527</b></dt>
<dd><p>The sqlite3_backup object is created by a call to sqlite3_backup_init() and is destroyed by a call to sqlite3_backup_finish().
<i>(source <a href="c3ref/backup.html">c3ref/backup.html</a>, checked-by: src/backup.c)</i></p></dd>

<dt><b>R-64876-15663-33951-59728-40293-17011-49499-29219</b></dt>
<dd><p>When memory allocation statistics are disabled, the following SQLite interfaces become non-operational: sqlite3_memory_used() sqlite3_memory_highwater() sqlite3_soft_heap_limit64() sqlite3_status()
<i>(source <a href="c3ref/c_config_getmalloc.html">c3ref/c_config_getmalloc.html</a>)</i></p></dd>

<dt><b>R-64894-16593-62452-43919-42251-52509-45292-14622</b></dt>
<dd><p>Thus if the BETWEEN term is not used as an index constraint and instead must be used to test input rows, the expr1 expression is only evaluated once.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-64894-50321-17583-62706-45487-44187-46471-34655</b></dt>
<dd><p>The string "?000" is returned if the argument is NULL or contains no ASCII alphabetic characters.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>, checked-by: src/func.c)</i></p></dd>

<dt><b>R-64895-14776-45323-12456-17492-01351-20079-09519</b></dt>
<dd><p>The truncate optimization can be permanently disabled for all queries by recompiling SQLite with the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time switch.
<i>(source <a href="lang_delete.html">lang_delete.html</a>)</i></p></dd>

<dt><b>R-64942-06615-59529-33377-22531-50938-02982-04631</b></dt>
<dd><p>The LIMIT and ORDER BY clauses (described below) are unsupported for DELETE statements within triggers.
<i>(source <a href="lang_delete.html">lang_delete.html</a>, checked-by: tcl/e_delete.test)</i></p></dd>

<dt><b>R-64962-58611-23755-17940-51440-03163-56069-63868</b></dt>
<dd><p>If the authorizer callback returns any value other than SQLITE_IGNORE, SQLITE_OK, or SQLITE_DENY then the sqlite3_prepare_v2() or equivalent call that triggered the authorizer will fail with an error message.
<i>(source <a href="c3ref/set_authorizer.html">c3ref/set_authorizer.html</a>)</i></p></dd>

<dt><b>R-64967-62742-25252-37896-34522-17857-15899-52885</b></dt>
<dd><p>The WAL journaling mode is persistent; after being set it stays in effect across multiple database connections and after closing and reopening the database.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-64973-09381-20072-06844-08666-32916-49559-16306</b></dt>
<dd><p>A pragma can take either zero or one argument.
<i>(source <a href="pragma.html">pragma.html</a>)</i></p></dd>

<dt><b>R-65034-36394-15247-55533-42797-07933-45173-41570</b></dt>
<dd><p>If a term of the WHERE clause is of the following form: expr1 BETWEEN expr2 AND expr3 Then two virtual terms are added as follows: expr1 >= expr2 AND expr1 <= expr3
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-65058-57158-61886-52055-64360-05204-52569-52918</b></dt>
<dd><p>For example, adding an "ON UPDATE CASCADE" clause to the foreign key as shown below enhances the example schema from section 1 to allow the user to update the artistid (the parent key of the foreign key constraint) column without breaking referential integrity: -- Database schema CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE ); sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 1 Dean Martin 2 Frank Sinatra sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 11 That's Amore 1 12 Christmas Blues 1 13 My Way 2 sqlite> -- Update the artistid column of the artist record for "Dean Martin". sqlite> -- Normally, this would raise a constraint, as it would orphan the two sqlite> -- dependent records in the track table. However, the ON UPDATE CASCADE clause sqlite> -- attached to the foreign key definition causes the update to "cascade" sqlite> -- to the child table, preventing the foreign key constraint violation. sqlite> UPDATE artist SET artistid = 100 WHERE artistname = 'Dean Martin'; sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 2 Frank Sinatra 100 Dean Martin sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 11 That's Amore 100 12 Christmas Blues 100 13 My Way 2
<i>(source <a href="foreignkeys.html">foreignkeys.html</a>, checked-by: tcl/e_fkey.test)</i></p></dd>

<dt><b>R-65068-25814-18099-09241-35748-05178-29106-53953</b></dt>
<dd><p>If the savepoint-name in a RELEASE command does not match any savepoint currently in the transaction stack, then no savepoints are released, the database is unchanged, and the RELEASE command returns an error.
<i>(source <a href="lang_savepoint.html">lang_savepoint.html</a>)</i></p></dd>

<dt><b>R-65068-27207-32171-32439-07967-23118-62780-22376</b></dt>
<dd><p>Otherwise, if the ORDER BY expression is any other expression, it is evaluated and the returned value used to order the output rows.
<i>(source <a href="lang_select.html">lang_select.html</a>, checked-by: tcl/e_select.test)</i></p></dd>

<dt><b>R-65079-31758-59497-17767-26031-34553-03771-44336</b></dt>
<dd><p>Application of a CAST expression is different to application of a column affinity, as with a CAST expression the storage class conversion is forced even if it is lossy and irrreversible.
<i>(source <a href="lang_expr.html">lang_expr.html</a>, checked-by: tcl/e_expr.test)</i></p></dd>

<dt><b>R-65084-00602-21133-41951-43387-02500-18887-33247</b></dt>
<dd><p>sqlite3_shutdown() will invoke sqlite3_os_end().
<i>(source <a href="c3ref/initialize.html">c3ref/initialize.html</a>)</i></p></dd>

<dt><b>R-65146-56212-60469-62387-62260-49895-35748-55001</b></dt>
<dd><p>Each column in an SQLite 3 database is assigned one of the following type affinities: TEXT NUMERIC INTEGER REAL NONE
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-65170-37686-46750-59741-09929-07769-53734-56917</b></dt>
<dd><p>Each prepared statement maintains various SQLITE_STMTSTATUS counters that measure the number of times it has performed specific operations.
<i>(source <a href="c3ref/stmt_status.html">c3ref/stmt_status.html</a>)</i></p></dd>

<dt><b>R-65183-09222-34316-19155-14116-63828-63851-19346</b></dt>
<dd><p>SQLite will make this determination, but only if it has been compiled with SQLITE_ENABLE_STAT3.
<i>(source <a href="optoverview.html">optoverview.html</a>)</i></p></dd>

<dt><b>R-65202-52898-33993-02532-48537-41504-38391-02782</b></dt>
<dd><p>The sqlite3_wal_checkpoint(D,X) interface causes database named X on database connection D to be checkpointed.
<i>(source <a href="c3ref/wal_checkpoint.html">c3ref/wal_checkpoint.html</a>)</i></p></dd>

<dt><b>R-65220-47400-35927-63771-60129-09494-15488-32046</b></dt>
<dd><p>The sqlite_master.rootpage column stores the page number of the root b-tree page for tables and indices.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-65225-33184-21951-03841-30982-30051-31375-14694</b></dt>
<dd><p>xMutexInit() must not use SQLite memory allocation (sqlite3_malloc() and its associates).
<i>(source <a href="c3ref/mutex_methods.html">c3ref/mutex_methods.html</a>)</i></p></dd>

<dt><b>R-65300-64550-00463-55023-40104-43666-12951-02448</b></dt>
<dd><p>An operand on a mathematical operator that does not look in any way numeric and is not NULL is converted to 0 or 0.0.
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-65304-57881-32228-09146-30017-59454-39464-18055</b></dt>
<dd><p>CREATE TABLE t1( a TEXT, -- text affinity b NUMERIC, -- numeric affinity c BLOB, -- no affinity d -- no affinity ); -- Values will be stored as TEXT, INTEGER, TEXT, and INTEGER respectively INSERT INTO t1 VALUES('500', '500', '500', 500); SELECT typeof(a), typeof(b), typeof(c), typeof(d) FROM t1; text|integer|text|integer -- Because column "a" has text affinity, numeric values on the -- right-hand side of the comparisons are converted to text before -- the comparison occurs. SELECT a < 40, a < 60, a < 600 FROM t1; 0|1|1 -- Text affinity is applied to the right-hand operands but since -- they are already TEXT this is a no-op; no conversions occur. SELECT a < '40', a < '60', a < '600' FROM t1; 0|1|1 -- Column "b" has numeric affinity and so numeric affinity is applied -- to the operands on the right. Since the operands are already numeric, -- the application of affinity is a no-op; no conversions occur. All -- values are compared numerically. SELECT b < 40, b < 60, b < 600 FROM t1; 0|0|1 -- Numeric affinity is applied to operands on the right, converting them -- from text to integers. Then a numeric comparison occurs. SELECT b < '40', b < '60', b < '600' FROM t1; 0|0|1 -- No affinity conversions occur. Right-hand side values all have -- storage class INTEGER which are always less than the TEXT values -- on the left. SELECT c < 40, c < 60, c < 600 FROM t1; 0|0|0 -- No affinity conversions occur. Values are compared as TEXT. SELECT c < '40', c < '60', c < '600' FROM t1; 0|1|1 -- No affinity conversions occur. Right-hand side values all have -- storage class INTEGER which compare numerically with the INTEGER -- values on the left. SELECT d < 40, d < 60, d < 600 FROM t1; 0|0|1 -- No affinity conversions occur. INTEGER values on the left are -- always less than TEXT values on the right. SELECT d < '40', d < '60', d < '600' FROM t1; 1|1|1
<i>(source <a href="datatype3.html">datatype3.html</a>)</i></p></dd>

<dt><b>R-65312-04917-64079-24281-62446-41326-63748-51040</b></dt>
<dd><p>If the parameter N to sqlite3_malloc() is zero or negative then sqlite3_malloc() returns a NULL pointer.
<i>(source <a href="c3ref/free.html">c3ref/free.html</a>, checked-by: src/malloc.c)</i></p></dd>

<dt><b>R-65343-41028-54070-29515-00373-53952-30391-17078</b></dt>
<dd><p>SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite will only use a createFlag of 2 after a prior call with a createFlag of 1 failed.
<i>(source <a href="c3ref/pcache_methods2.html">c3ref/pcache_methods2.html</a>)</i></p></dd>

<dt><b>R-65347-63411-45850-56512-24851-44706-34523-61535</b></dt>
<dd><p>In other words, the WAL can fill up with frames and then be checkpointed and then new frames can overwrite the old ones.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-65388-41786-00092-02077-09568-05356-17956-02801</b></dt>
<dd><p>The SQLITE_ prefix may be omitted from the option name passed to sqlite3_compileoption_used().
<i>(source <a href="c3ref/compileoption_get.html">c3ref/compileoption_get.html</a>)</i></p></dd>

<dt><b>R-65402-64812-60843-53358-51995-56787-06991-48467</b></dt>
<dd><p>Coalesce() must be at least 2 arguments.
<i>(source <a href="lang_corefunc.html">lang_corefunc.html</a>)</i></p></dd>

<dt><b>R-65414-20744-41153-04871-49234-04679-53639-45411</b></dt>
<dd><p>On all subsequent invocations, the pseudo-randomness is generated internally and without recourse to the sqlite3_vfs xRandomness method.
<i>(source <a href="c3ref/randomness.html">c3ref/randomness.html</a>)</i></p></dd>

<dt><b>R-65415-14215-28340-46015-14060-32761-36485-26152</b></dt>
<dd><p>The xCurrentTimeInt64() method returns, as an integer, the Julian Day Number multiplied by 86400000 (the number of milliseconds in a 24-hour day).
<i>(source <a href="c3ref/vfs.html">c3ref/vfs.html</a>)</i></p></dd>

<dt><b>R-65428-21389-17979-34707-50338-54767-57809-35123</b></dt>
<dd><p>The return value of the xFileControl method becomes the return value of this routine.
<i>(source <a href="c3ref/file_control.html">c3ref/file_control.html</a>)</i></p></dd>

<dt><b>R-65463-62993-22311-50014-58341-59872-02270-20667</b></dt>
<dd><p>Any database name qualifier that occurs prior to the name of the object being created is removed.
<i>(source <a href="fileformat2.html">fileformat2.html</a>)</i></p></dd>

<dt><b>R-65497-44594-57165-36167-22063-03148-57647-08076</b></dt>
<dd><p>The flags parameter to sqlite3_open_v2() can take one of the following three values, optionally combined with the SQLITE_OPEN_NOMUTEX, SQLITE_OPEN_FULLMUTEX, SQLITE_OPEN_SHAREDCACHE, SQLITE_OPEN_PRIVATECACHE, and/or SQLITE_OPEN_URI flags:
<i>(source <a href="c3ref/open.html">c3ref/open.html</a>)</i></p></dd>

<dt><b>R-65533-07878-19819-34266-07075-10299-37454-14424</b></dt>
<dd><p>The DROP TABLE command works on sqlite_stat1 and sqlite_stat3 as of SQLite version 3.7.9.
<i>(source <a href="lang_analyze.html">lang_analyze.html</a>)</i></p></dd>


</dl>

